大家好,有个数据集如下:
data one;
input x $;
cards;
a
b
c
d
e
f
g
.........(这里省略很多,一共100个obs)
;
run;
以上有观测值假设为100个
还有宏变量如下:
%let m1=1;
%let m2=2;
%let m3=3;
%let m3=4;
%let m3=5;
。。。。省略很多(一共100个宏变量,数目对应于one的x的数目)
%let m100=100;
现在想要创造一个新的数据集two,希望内容如下:
x y
a a_1
b b_2
c c_3
。。。。。(以下省略,一共100行)
也就是在one基础上新建一个数据集,新增变量y,使y等于one的对应的x字符串相加宏变量m1,m2,m3.......m100
请问如何实现?
重要补充说明,宏变量取1到100只是举个例子,实际中要求可以用任何字符或字符串。
比如 proc sql;select variable_a into :m1 - :m100 from data2;quit;
多谢