全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1299 2
2016-08-09
不知道有沒有人問過,假如我有一個資料集是這樣的

data tem;
input table $ type pct;
cards;
T1 1        2.25
T1 2        0.65
T1 3        5.16
T1 4        4.23
T1 5        87.71
T2 1        84.67
T2 2        4.53
T2 3        0.57
T2 4        2.86
;
run;


接著要做這個程式

%MACRO pct (TABLE,TYPE,PCT);
%put &TABLE. &TYPE. &PCT.;
%mend;

%pct(TABLE=T1,TYPE=1,PCT=2.25);

%pct(TABLE=T1,TYPE=2,PCT=0.65);

%pct(TABLE=T1,TYPE=3,PCT=5.16);
%pct(TABLE=T1,TYPE=4,PCT=4.23);
請問如何利用上述的數據集,讓宏语句能夠一次性地讀取
二维码

扫码加我 拉你入群

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

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

全部回复
2016-8-9 21:54:29
是这个意思?

%macro pct;
data _null_;
  set tem end=last nobs=nobs;
  call symput('table'||left(_n_),compress(table));
  call symput('type'||left(_n_),compress(type));
  call symput('pct'||left(_n_),compress(pct));
  if last then call symput('nobs',compress(nobs));
run;
%do i=1 %to &nobs;
  %put &&table&i. &&type&i. &&pct&i.;
%end;
%mend;

%pct
二维码

扫码加我 拉你入群

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

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

2016-8-9 22:12:40
没错,实在太厉害了,感谢您的帮忙耶
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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