小编Yim*_*mai的帖子

在sas中的%let语句之后,宏变量未初始化

我想在SAS中创建一些像Excel查找功能一样的东西.基本上,我设定的值,宏变量var1,var2...我想根据找到自己的索引号ref表.但是我在数据步骤中收到以下消息.

NOTE: Variable A is uninitialized.
NOTE: Variable B is uninitialized.
NOTE: Variable NULL is uninitialized.
Run Code Online (Sandbox Code Playgroud)

当我打印变量&num1&num2,我什么都没得到.这是我的代码.

data ref;
    input index varname $;
    datalines;
0 NULL
1 A
2 B
3 C
;
run;

%let var1=A;
%let var2=B;
%let var3=NULL;

data temp;
    set ref;
    if varname=&var1 then call symput('num1',trim(left(index)));
    if varname=&var2 then call symput('num2',trim(left(index)));
    if varname=&var3 then call symput('num3',trim(left(index)));
run;

%put &num1;
%put &num2;
%put &num3;
Run Code Online (Sandbox Code Playgroud)

我能得到正确的值&num1,&num2 …

sas sas-macro

5
推荐指数
1
解决办法
924
查看次数

标签 统计

sas ×1

sas-macro ×1