20 個の文字変数を持つ SAS データセットがあり、そのすべてが名前です (例: Adam、Bob、Cathy など)。
Adam_ref、Bob_ref などと呼ばれる変数を作成する動的コードが必要です。これは、異なる名前の異なるデータセットがある場合でも機能します (つまり、各変数を手動で定義したくない)。
これまでの私のアプローチは、proc コンテンツを使用してすべての変数名を取得し、マクロを使用してマクロ変数 Adam_ref、Bob_ref などを作成することでした。
ここからデータセット内に実際の変数を作成するにはどうすればよいですか? 別のアプローチが必要ですか?
proc contents data=work.names
out=contents noprint;
run;
proc sort data = contents; by varnum; run;
data contents1;
set contents;
Name_Ref = compress(Name||"_Ref");
call symput (NAME, NAME_Ref);
%put _user_;
run;