TRANTAB プロシジャ
例6: 並べ替えへのさまざまな変換テーブルの使用
要素: |
PROC SORTステートメントオプション:SORTSEQ=
PRINTプロシジャ
|
この例では、デフォルトの並べ替え順序とは異なる順序でデータを並べ替えるために、異なる変換テーブルを指定する方法を示します。英語(U.S.)以外の言語で記述された文字は、デフォルトの順序とは異なる並べ替え順序が必要になる場合があります。
SASサンプルライブラリにあるTRABASEプログラムを使用すると、複数言語用の変換テーブルを作成できます。例はすべてUNIX環境で作成されました。
SASシステムオプションを設定します。
options nodate pageno=1 linesize=80 pagesize=60;
TESTSORTデータセットを作成します。 DATAステップで、4組の単語のペアを使用してSASデータセットを作成します。各ペアの単語は最初の文字が大文字か小文字かという点のみが異なります。
data testsort; input Values $10.; datalines; Always always Forever forever Later later Yesterday yesterday ;
デフォルトの並べ替え順序とは異なる順序でデータを並べ替えます。 PROC SORTでは、デフォルトの変換テーブルを使用して、すべての小文字、すべての大文字の順序でデータを並べ替えます。
proc sort; by values; run;
データセットを出力します。 PROC PRINTでは、並べ替えたデータセットが出力されます。
proc print noobs; title 'Default Sort Sequence'; run;
SAS出力
次の出力はデフォルトの変換テーブルを使用した値の並べ替えの出力です。デフォルトの並べ替え順序を使用すると、最初にアルファベット順で大文字の単語すべて、次に小文字の単語すべてを並べます。
Default Sort Sequence 1 Values Always Forever Later Yesterday always forever later yesterday
変換テーブルUPPERに従ってデータを並べ替え、新しいデータセットを出力します。SORTSEQ=システムオプションでは、PROC SORTがカスタマイズされた変換テーブルUPPERに従ってデータを並べ替えるように指定しています。変換テーブルUPPERは、小文字と大文字を区別せずに処理するようにカスタマイズされています。この方法は、大文字か小文字かに関係なく並べ替えるときに便利です。PROC
PRINTでは、並べ替えたデータセットが出力されます。
proc sort sortseq=upper; by values; run; proc print noobs; title 'Customized Sort Sequence'; run;
SAS出力
次の出力はカスタマイズされた変換テーブルを使用した値の並べ替えの結果です。このカスタマイズされた並べ替え順序では、最初の文字が大文字か小文字かに関係なく、すべての単語をアルファベット順に並べ替えます。
Customized Sort Sequence 2 Values Always always Forever forever Later later Yesterday yesterday
Copyright © SAS Institute Inc. All rights reserved.