【发布时间】:2020-03-31 15:14:11
【问题描述】:
有类似的命名宏变量,如 temp1、temp2 等。
temp1=xyz; temp2=abc;
现在我想将这些宏变量值存储到数据集中。
我试着写如下:
%let n=2;
data current_data;
do=1 to &n.;
myvalues="&&temp&i.";
run;
但它不起作用。 似乎 i 没有像 call symput 函数那样在声明的同一数据集中得到解析。
谁能帮忙?
【问题讨论】:
-
你想要的结果是什么?你想观察每个宏变量吗?
-
当初为什么要把数据放到宏变量中呢?很难看出如何在不从数据集开始的情况下获得一系列像这样的宏变量。为什么不直接使用原始数据集?
-
@Tom :这些是来自存储过程提示的输入。我为用户提供了输入多值文本的选项,因此他们输入了 n 个值,每个值都成为名称相似的宏变量,因此我需要读取这些值并将其放入数据集中。希望你现在清楚我的问题