我需要通过变量传递列名。
%let dsn=a1234;
data temp;
set &a1234;
if age>=20;
run;
其中'a1234'是我想要使用的列名(存在于文件中);而不是字符串a1234。
我想要这样做的原因是在脚本顶部定义所有参数,使代码更加干净(在这种情况下)。
提前感谢您的任何反馈。
答案 0 :(得分:3)
虽然您的问题是a1234
是一列,但此答案会将其视为数据集名称,如代码示例中所使用的那样。
你很亲密;您创建了一个名为DSN
的宏变量,其值为a1234,但您尝试引用名为A1234
的宏变量。换句话说,试试这个:
%let DSN=a1234;
data temp;
set &DSN;
if age>=20;
run;
重点强调。
答案 1 :(得分:1)
你在问这个吗?
%let dsn=a1234;
%Let column=Age;
data temp;
set &a1234;
if &column>=20;
run;