我想将日期用作变量名称。我知道我需要在前面添加一个角色,并且这不是一种存储数据的好方法(它纯粹是为了报告美学)。我已经尝试了%eval()
但无法解决它。
%let var_date = '_'||today();
data date;
%eval(&var_date) = .;
run;
我希望变量名称为_02JUN2011
。谢谢你的帮助。
答案 0 :(得分:3)
我认为你不想采取这种方法。您应该在PROC REPORT(或任何其他报告PROC)中使用标签,或者动态地转动数据。也许如果你描述了你所拥有的数据和你想要的输出,这里的人们将能够帮助找到合适的解决方案。
为了您的启发,以下代码执行您在帖子中尝试执行的操作:
%let var_date=_%sysfunc(today(),date9.); data test; &var_date=.; run;
答案 1 :(得分:0)
这就是我正在寻找的。这可以维持吗?
data date1;
date = put(today(),date9.);
text = '';
do i = 1 to 5;
output;
end;
run;
proc transpose data = date1 out = date2;
by i;
id date;
var text;
run;
答案 2 :(得分:-1)
你真的想要使用哈希 - 这不是可维护的代码..