0

我需要通过变量传递列名。

%let dsn=a1234;
data temp;
   set &a1234;
   if age>=20;
run;

其中“a1234”是我要使用的列名(存在于文件中);而不是字符串 a1234。

我想这样做的原因是在脚本顶部定义了所有参数,这使得代码更干净(在这种情况下)。

提前感谢您的任何反馈。

4

2 回答 2

3

尽管您的问题说a1234是一列,但此答案将其视为数据集名称,如您的代码示例中使用的那样。

你很亲近;您创建了一个名为 a1234 的宏变量DSN您试图引用一个名为A1234. 换句话说,试试这个:

%let DSN=a1234;
data temp;
   set &DSN;
   if age>=20;
run;

为强调而大写。

于 2012-08-21T13:43:29.890 回答
1

您是在问这样做吗?

%let dsn=a1234;
%Let column=Age;
data temp;
 set &a1234;
 if &column>=20;
run;
于 2012-08-21T12:55:22.777 回答