配列に定義した新たな変数に変数長(LENGTH)を割り当てたい場合は、以下のような感じで書きますが、、
data test;
length a b c $10.; array ar(3) a b c; run; |
ARRAYステートメントで直接定義することも可能(※)
data test;
array ar(3) $10. a b c; run; |
※ 注意点
SASの挙動として当たり前な話ではありますが、
データステップ内で変数に対して変数長が設定された後、途中で変数長を変えることは出来ません。
NG例①
以下のように、ARRAYステートメントで変数長を設定後、LENGTHステートメントで変数長を変えることは無理。
以下、PROC CONTENTSでの確認結果。
NG例②
逆もしかり、
LENGTHステートメントで変数長を設定後に、ARRAYステートメントで変数長を変えることは無理。
注目したいのが、例①ではログにWARNINGが出たのに対し、以下のようにARRAYステートメントで変数長を後出しした場合、WARNINGが出ません。



0 件のコメント:
コメントを投稿