繁体   English   中英

在 SAS 中是否可以将一列中的值分配给另一列中的宏变量

[英]Is it possible in SAS to assign values from one column to a macro variables from another column

我已经失去了可能已经找到了解决我问题的方法。

我有两列VarNameVarDate

我想将VarDate的值分配给VarName列中的宏变量,而不是一一单独命名它们。

结果应该是 14 个带有赋值的宏变量。

例如:

如果我要写 %put &A_10; 它应该返回我的价值 14/06/2020

如果我要写 %put &A_11; 它应该返回我的价值 12/06/2020

如果我要写 %put &G_11; 它应该返回我的价值 31/12/2021

data have;
input VarName $ VarDate :ddmmyy10.;
format VarDate ddmmyy10.;
datalines;
A_10 14/06/2020
A_11 12/06/2020
B_10 30/06/2020
B_11 30/06/2020
C_10 31/05/2020
C_11 29/05/2020
D_10 30/04/2020
D_11 30/04/2020
E_10 31/03/2020
E_11 31/03/2020
F_10 29/02/2020
F_11 28/02/2020
G_10 31/12/2021
G_11 31/12/2021
;
run;

它工作正常。 登录结束评论:

data have;
input VarName $ VarDate :ddmmyy10.;
format VarDate ddmmyy10.;
datalines;
A_10 14/06/2020
A_11 12/06/2020
B_10 30/06/2020
B_11 30/06/2020
C_10 31/05/2020
C_11 29/05/2020
D_10 30/04/2020
D_11 30/04/2020
E_10 31/03/2020
E_11 31/03/2020
F_10 29/02/2020
F_11 28/02/2020
G_10 31/12/2021
G_11 31/12/2021
;
run;

data _null_;
    set have;
        call symput(VarName,put(VarDate,ddmmyys10.));
run;

%put &A_10.;
%put &A_11.;
.
.
.
.
/*results in the log:

4116  %put &A_10.;
14/06/2020
4117  %put &A_11.;
12/06/2020

*/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM