まずは基本的なところから。
* サンプルデータ ; data DT1; input A$; cards; AA BB CC ;
|
上記変数Aの値をマクロ変数に入れたい場合、SQLプロシジャを使うと以下のように書きます。
* マクロ変数に格納 ; proc sql noprint; select A into :A1 - :A3 from DT1; quit; * マクロ変数値をログに出力 ; %put &A1; %put &A2; %put &A3; ログ AA BB CC |
データセットの1行目の値を&A1に、2行目を&A2に、3行目を&A3に入れてます。
もしレコードが100行あったら「:A1 - :A100」と書けば&A1~&A100に各レコードの値が入ります。
そしてSAS9.3からの新機能。
proc sql noprint; select A into :A1 - from DT1; quit; |
これだけで&A1, &A2, &A3…というようにレコードの数だけ勝手にマクロ変数を作ってくれます。
・フォーマットが割り当てられた変数だと、フォーマットを当てた値がマクロ変数に格納される。
0 件のコメント:
コメントを投稿