前のページ|次のページ

IDXBY= LIBNAMEステートメントオプション

SPD EngineでのBYステートメント処理時にインデックスを使用するかどうかを指定します。

デフォルト: YES
操作: BYSORT= LIBNAMEステートメントオプション
BYSORT=データセットオプション
エンジン: SPD Engineのみ

構文

IDXBY=YES | NO

必須引数

YES

BYステートメントのインデックス変数を処理するときにインデックスを使用します。

注: BYステートメントに2つ以上の変数またはDESCENDINGオプションが指定されている場合は、IDXBY=YESでもインデックスは使用されません。

NO

BYステートメントのインデックス変数を処理するときにインデックスを使用しません。

IDXBY=NOの場合、BYステートメントの処理時に自動並べ替えが実行されます。

詳細

IDXBY= LIBNAMEオプションを使用する場合は、BYSORT=YESオプションを使用し、BY変数にインデックスを付けるようにしてください。
場合によっては、データを自動的に並べ替えると、SPD Engineのパフォーマンスが向上することがあります。自動並べ替えを使用するには、BYSORT=YESを設定し、IDXBY=NOを指定する必要があります。
SASシステムオプションMSGLEVEL=Iを設定し、BY処理情報がSASログに書き込まれるようにします。IDXBY=LIBNAMEオプションおよびBYSORT=YESオプションを使用すると、SASログに次のメッセージが書き込まれます。
  • IDXBY=YESでBY変数にインデックスがある場合、テーブルの行の並べ替えにそのインデックスが使用されます。次のメッセージがSASログに書き込まれます。
    注:BY ordering was produced by using an index for table tablename.
  • IDXBY=NOを使用する場合、次のメッセージがSASログに書き込まれます。
    注:BY ordering was produced by performing an automatic sort on table tablename. 

比較

IDXBY=データセットオプションで、IDXBY= LIBNAMEステートメントオプションが上書きされます。

例1: IDXBY=NO LIBNAMEオプションの使用

libname permdata spde 'SAS-library' idxby=no;
options msglevel=i;
	proc means data=permdata.customer;
   	var sales;
   by state;
	run;
次のメッセージがSASログに書き込まれます。
NOTE:BY ordering was produced by performing an automatic sort on table PERMDATA.customer.注:There were 100 observations read from the data set PERMDATA.CUSTOMER.

例2: IDXBY=YES LIBNAMEオプションの使用

次の例はIDXBY=YESを使用しています。
libname permdata spde 'SAS-library' idxby=yes;
options msglevel=i;
	proc means data=permdata.customer;
    var sales;
    by state;
run;
次のメッセージがSASログに書き込まれます。
注:BY ordering was produced by using an index for table PERMDATA.customer.注:There were 2981 observations read from the data set PERMDATA.CUSTOMER.
前のページ|次のページ|ページの先頭へ