前のページ|次のページ

照合順序オプション

PROC SORTの照合順序を指定します。

該当要素: PROC SORTステートメント
注: PROC SORTステートメントは、SASデータセットのオブザベーションを1つ以上の文字変数または数値変数を基準に並べ替えます。

構文

PROC SORT collating-sequence-option <other option(s)> ;

オプション

オプションには、1つのcollating-sequence-optionと複数のother optionsを含めることができます。2種類のオプションの順序は重要でなく、両方の種類を同じPROC SORTステップに含める必要はありません。PROC SORT collating-sequence-optionについてのみ次に説明します。
動作環境の情報: DANISH、FINNISH、NORWEGIAN、SWEDISHのいずれかのcollating-sequence-optionに対する動作環境固有の動作の詳細については、現在の動作環境向けのSASドキュメントを参照してください。

ASCII

ASCII照合順序を使用して文字変数を並べ替えます。このオプションは、EBCDICがネイティブ照合順序のシステムでASCII並べ替えを実行する場合にのみ必要です。

DANISH NORWEGIAN

デンマーク語とノルウェー語に従って文字を並べ替えます。

デンマーク語とノルウェー語の照合順序は、英数字の各言語での並べ替え に示されています。

EBCDIC

EBCDIC照合順序を使用して文字変数を並べ替えます。このオプションは、ASCIIがネイティブ照合順序のシステムでEBCDIC並べ替えを実行する場合にのみ必要です。

POLISH

ポーランド語の規則に従って文字を並べ替えます。

FINNISH SWEDISH

フィンランド語とスウェーデン語の規則に従って文字を並べ替えます。フィンランド語とスウェーデン語の照合順序は、英数字の各言語での並べ替え に示されています。

NATIONAL

各国での使用の違いを反映するためにインストール時に定義された代替照合順序を使用して、文字変数を並べ替えます。このオプションを使用するには、カスタマイズされた各国の並べ替え順序をサイトが保有する必要があります。カスタマイズされた各国の並べ替え順序が使用可能かどうか確認するには、サイトのSASインストール担当者にお問い合わせください。

NORWEGIAN

DANISHを参照してください。

SWEDISH

FINNISHを参照してください。

SORTSEQ=collating-sequence

照合順序を指定します。collating-sequenceには、collating-sequence-option、変換テーブル、エンコーディング、キーワードLINGUISTICのいずれかを指定できます。1つの照合順序のみ指定できます。詳細については、照合順序を参照してください。

照合順序の説明を次に示します。

collating—sequence—option | translation_table

SASで提供される変換テーブルかユーザー定義の変換テーブル、または1つのPROC SORTステートメントのcollating-sequence-optionを指定します。SORTSEQ=とともにPROC TRANTABとPROC SORTを使用した例については、並べ替えへのさまざまな変換テーブルの使用を参照してください。

使用可能な変換テーブルは、次のとおりです。
  • ASCII
  • DANISH
  • EBCDIC
  • FINNISH
  • ITALIAN
  • NORWEGIAN
  • POLISH
  • REVERSE
  • SPANISH
  • SWEDISH
次の図に、各言語で英数字が並べ替えられる方法を示します。
英数字の各言語での並べ替え
英数字の各国照合順序
制限事項 PROC SORTステップでは、1つのcollating-sequence-optionのみ指定できます。
ヒント SORTSEQ=照合順序オプションは、かっこを使用せず、引数を関連付けずに指定します。照合順序の指定方法の例を次に示します。proc sort data=mydata SORTSEQ=ASCII;

encoding-value

エンコーディング値を指定します。この結果は、指定したエンコーディングで表示される文字データのバイナリ照合と同じです。サポートされるエンコーディング値はデータのトランスコーディングに使用するSBCS、DBCSおよびUnicodeエンコーディング値を参照してください。

制限事項 SORTSEQ=オプションで指定したエンコーディングを認識するSAS Systemの一部またはプロシジャは、PROC SORTのみです。
ヒント エンコーディング値に英数字またはアンダースコア以外の文字が含まれる場合、その値を引用符で囲む必要があります。
参照項目 データのトランスコーディングに使用するSBCS、DBCSおよびUnicodeエンコーディング値で指定可能なエンコーディングの一覧。

LINGUISTIC<(collating—rules )>

指定した言語のルールに従って文字を並べ替える、言語照合を指定します。ルールおよびデフォルトの照合順序オプションは、現在のロケール設定で指定した言語に基づきます。International Components for Unicode (ICU)ライブラリにより実装され、Unicode照合アルゴリズム(UCA)と大部分で互換性のある結果を作成します。

別名 UCA
制限事項 SORTSEQ=LINGUISTICオプションはPROC SORT SORTSEQ=オプションでのみ使用可能で、SAS SystemのSORTSEQ=オプションでは使用できません。
SAS 9.4のメンテナンスリリース3から、言語照合を指定する際に、SQLプロシジャでSORTSEQ=オプションを使用したり、システムオプションSORTSEQ=LINGUISTICを指定したりできるようになりました。詳細については、SORTSEQ=システムオプション:UNIX、Windows、およびz/OSおよびSORT Procedure (Base SASプロシジャガイド)を参照してください。
ヒント LINGUISTIC並べ替えは、z/OSメインフレームではより多くのメモリを必要とします。REGIONの50M以上の設定が必要な場合があります。バッチモードで実行する場合はJCL、対話形式で実行する場合はVERIFY画面でこのアクションを実行する必要があります。このアクションによりICUライブラリが適切に読み込まれ、並べ替えに使用するメモリに影響しません。
collating-rulesはかっこで囲む必要があります。複数の照合ルールを指定できます。
言語照合で並べ替えたデータセットでBY処理を実行する場合、データセットが適切に処理されるようにNOBYSORTEDシステムオプションの指定が必要な場合があります。BY処理は、照合順序処理とは異なる方法で実行されます。
参照項目 ICU License (z/OS版SAS)
照合順序 (言語照合の詳細)
SORTSEQ=sort-table | LINGUISTIC (SAS SQLプロシジャユーザーガイド) (PROC SORTでの言語並べ替えの詳細)
Unicode照合アルゴリズム(UCA)の仕様は、http://www.unicode.orgで確認できます。
LINGUISTICオプションで指定可能なcollation-rulesを次に示します。これらのルールにより言語照合順序が変更されます。

ALTERNATE_HANDLING=SHIFTED

スペース、句読点、記号などの変数文字の処理を制御します。このオプションを指定しない(デフォルト値のNon-Ignorableを使用する)場合、これらの変数文字間の違いは、通常の文字間の違いと同様に重要です。ALTERNATE_HANDLINGオプションを指定する場合、これらの変数文字はあまり重要ではありません。

デフォルト NON_IGNORABLE
ヒント SHIFTED値は、QUATERNARYに設定されたSTRENGTH=と組み合わせてよく使用されます。このような場合、スペース文字、句読点、記号が文字列の比較時に考慮されますが、文字列のその他の要素(基本文字、アクセント記号、大文字と小文字)が同一の場合に限定されます。

CASE_FIRST=

大文字と小文字の順序を指定します。この引数は、TERTIARY、QUATERNARYまたはIDENTICALレベルでのみ有効です。次の表に、CASE_FIRST引数の値と情報を示します。

説明
UPPER
大文字、小文字の順序で並べ替えます。
LOWER
小文字、大文字の順序で並べ替えます。

COLLATION=

次の表に、使用可能なCOLLATION=値を示します。照合値を選択しない場合、ユーザーのロケールのデフォルト照合が選択されます。

説明
BIG5HAN
ラテン語にピンインの並べ替えを指定し、中国語、日本語、韓国語の文字にbig5文字セットの並べ替えを指定します。
DIRECT
ヒンディー語のバリアントを指定します。
GB2312HAN
ラテン語にピンインの並べ替えを指定し、中国語、日本語、韓国語の文字にgb2312han文字セットの並べ替えを指定します。
PHONEBOOK
文字の並べ替えに電話帳スタイルを指定します。PHONEBOOKはドイツ語でのみ選択します。
PINYIN
1文字ずつピンインに変換する方法を使用した中国語、日本語、韓国語の文字の並べ替えを指定します。この並べ替えは、簡体字中国語でよく使用されます。
POSIX
ポータブルオペレーティングシステムインターフェイスです。このオプションでは、文字の"C"ロケール並べ替えを指定します。
STROKE
英字以外の書体の並べ替えを指定します。中国語、日本語、韓国語、ベトナム語でSTROKEを選択します。この並べ替えは、繁体字中国語でよく使用されます。
TRADITIONAL
文字の並べ替えに従来のスタイルを指定します。たとえば、スペイン語でTRADITIONALを選択します。

LOCALE=locale_name

POSIX名形式でロケール名を指定します。たとえば、ja_JPと指定します。PROC SORTでサポートされるロケールとPOSIX値の一覧については、ENCODING、PAPERSIZE、DFLANG、DATESTYLEオプションのLOCALE=値とデフォルト設定を参照してください。

制限事項 次のロケールはPROC SORTでサポートされていません。
  • Afrikaans_SouthAfrica, af_ZA
  • Cornish_UnitedKingdom, kw_GB

NUMERIC_COLLATION=

数を示す文字のかわりに、数値でテキスト内の整数値を並べ替えます。

説明
ON
数値で番号を並べ替えます。たとえば、"8 Main St."は"45 Main St."より前になります。
OFF
文字の値で数を並べ替えます。たとえば、"45 Main St."は"8 Main St."より前になります。
デフォルト OFF

STRENGTH=

強度の値は、照合レベルに関連付けられます。5つの照合レベル値があります。次の表に、5つのレベルの情報を示します。強度のデフォルト値は、ロケールに関連付けられます。

照合の種類
説明
PRIMARYまたは1
PRIMARYでは、基本文字間の差異を指定します("a"<"b"など)。
この差異は最強です。たとえば、辞書は基本文字により異なるセクションに分割されます。
SECONDARYまたは2
文字のアクセント記号が第2差異となります("as"<"às"<"at"など)。
文字列内に第1差異がある場合は、第2差異は無視されます。文字間のその他の差異も、言語に応じて第2差異と考慮される場合があります。
TERTIARYまたは3
大文字と小文字の差異は、第3レベルで区別されます("ao"<"Ao"<"aò"など)。
文字列内に第1または第2差異がある場合は、第3差異は無視されます。別の例として、通常の仮名と小文字の仮名の違いがあります。
QUATERNARYまたは4
レベル1から3で句読点が無視される場合、句読点の有無で単語を区別するために追加レベルが使用されます("ab"<"a-b"<"aB"など)。
句読点の無視が必須の場合や日本語テキストを処理する場合は、第4レベルを使用する必要があります。第1、第2または第3差異がある場合は、この差異は無視されます。
IDENTICALまたは5
他のすべてのレベルが等しい場合、最終的な決定をするために同一レベルが使用されます。各文字列の正規化形式D (NFD)のUnicodeコードポイント値がこのレベルで比較され、レベル1から4で違いがないことが確認されます。
2つの文字列間でコードポイント値のみが異なることはほとんどないため、このレベルは必要最小限に使用します。たとえば、ヘブライ語の詠唱マークのみがこのレベルで区別されます。
別名 Level=
注意:
データの並べ替えにホストの並べ替えユーティリティを使用する場合、SORTSEQ=オプションで変換テーブルベースの照合順序を指定すると、BY変数の文字が破損する可能性があります。詳細については、現在の作環境向けのドキュメントのPROC SORTを参照してください。

詳細

PROC SORTステートメントの照合順序オプションは、SASデータセットのオブザベーションを1つ以上の文字または数値変数で並べ替えます。
オプション
タスク
オプション
照合順序の指定
ASCIIの指定
EBCDICの指定
デンマーク語の指定
フィンランド語の指定
ノルウェー語の指定
ポーランド語の指定
スウェーデン語の指定
カスタマイズされた順序の指定
前述の照合順序(ASCII、EBCDIC、DANISH、FINNISH、ITALIAN、NORWEGIAN、POLISH、SPANISH、SWEDISH、NATIONAL)、システムで提供されたその他の変換テーブル名(POLISH、SPANISH)、ユーザーが作成した変換テーブル名のいずれかを指定します。エンコーディングを指定できます。また、ロケールに適切な照合順序にするために、キーワードLINGUISTICまたはUCAを指定できます。

関連項目:

SORT Procedure (Base SASプロシジャガイド)
前のページ|次のページ|ページの先頭へ