楼主: pinggu2688
1749 2

[原创博文] 求助高手关于宏变量操作 [推广有奖]

  • 2关注
  • 0粉丝

博士生

6%

还不是VIP/贵宾

-

威望
0
论坛币
40 个
通用积分
40.2335
学术水平
1 点
热心指数
3 点
信用等级
1 点
经验
3113 点
帖子
166
精华
0
在线时间
103 小时
注册时间
2009-11-12
最后登录
2024-8-28

楼主
pinggu2688 发表于 2012-1-10 02:41:13 |AI写论文
52论坛币
大家好,有个数据集如下:
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;

多谢
关键词:求助高手 Variable proc sql Select Input abcdefg 字符串 新建

回帖推荐

hopewell 发表于2楼  查看完整内容

沙发
hopewell 发表于 2012-1-10 02:41:14
  1.     y=catx('_',x,symget(cats('m',_n_)));
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
pinggu2688 + 1 + 1 + 1 偶像

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

观钓颇逾垂钓趣 种花何问看花谁

藤椅
pinggu2688 发表于 2012-1-10 20:40:56
hopewell 发表于 2012-1-10 08:34
谢谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 00:49