2016年10月17日月曜日

「ARRAY(変数名)」 という書き方


確かマニュアルに載ってない書き方。


青字の部分に注目してください。

* サンプルデータ作成 ;
data DT1;
input (A1-A3)(:$) X;
cards;
a b c 1
d e f 3
g h i 2
;
run;
  A1 
 A2  
 A3  
 X  
  a b c 1
  d e f 3
  g h i 2


*** 普通のARRAYの書き方 ;
data DT2;
 set DT1;
 length Y $10.;
 array AR(*) A1 A2 A3;
 Y=AR(X);
run;
 A1  
 A2  
 A3  
 X  
 Y  
  a b c 1 a
  d e f 3 f
  g h i 2 h


*** マニュアルに載ってないARRAYの書き方 (結果は上記と同じ) ;
data DT2;
 set DT1;
 length Y $10.;
 array AR(X) A1 A2 A3;
 Y=AR;
run;


上記のように、「ARRAY 配列名( 変数名 ) ・・・」 と書くと、以降のプログラムで、その変数を要素番号として認識してくれるっぽいです。

つまり、「ARRAY AR(X) A1 A2 A3;」 と定義しておけば、
以降のプログラムで 「Y=AR(X);」 ではなく「Y=AR;」 というように要素番号の指定を省略できるというわけです。


マニュアルに載ってないので参考程度に。


0 件のコメント:

コメントを投稿