全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1325 2
2014-10-03
悬赏 20 个论坛币 已解决

data a;
input x y;
cards;
1 2
2 8
3 9
4 2
5 6
6 9
7 8
8 3
9 4
;
run;
现在想定义一连串宏变量xi,取值为当x=1的时候,x1=1,当x=2的时候,x2=2
知道用利用call symput ,具体不晓得怎么写,求指点

最佳答案

caibirdcnb 查看完整内容

data _null_; set a; call symput('x'||compress(x),compress(x)); run; %macro test; %do i=1 %to 9; %put &&&x&i; %end; %mend; %test 楼主试试这个。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-10-3 05:35:55
data _null_;
set a;
call symput('x'||compress(x),compress(x));
run;
%macro test;
%do i=1 %to 9;
%put &&&x&i;
%end;
%mend;
%test


楼主试试这个。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-8 12:45:57
caibirdcnb 发表于 2014-10-3 05:35
data _null_;
set a;
call symput('x'||compress(x),compress(x));
谢谢,不好意思,回复晚了。请问 %put &&&x&i;   为什么前面要加 三个&&   加一个不就可以了吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群