全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1803 5
2016-11-18
QQ图片20161118184717.png
出事的表格是这样的,但是我想把后面的年份在列上表示出来,也就是这样:
stkcd             place      year        var
000001       深圳市      2000      1
000001       深圳市      2001      0
000001       深圳市      2002      0
。。。。。。
000002       深圳市      2000      1
。。。。。。
请问可以用什么办法?
二维码

扫码加我 拉你入群

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

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

全部回复
2016-11-18 21:44:39
%macro jj(year);
data y&year.;
set a(keep=stkcd place  y&year.  (rename=y&year.=var));
year=&year.;
run;
%mend jj;
%jj(2000);
%jj(2001)
%jj(2002)
%jj(2004)
%jj(2005)
%jj(2006)

data need;
set y2000-y2006;
proc sort;by stkcd place year;
run;
二维码

扫码加我 拉你入群

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

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

2016-11-19 08:51:28
lovexialulu 发表于 2016-11-18 21:44
%macro jj(year);
data y&year.;
set a(keep=stkcd place  y&year.  (rename=y&year.=var));
不好意思能解释一下吗,试了但是跑不出来,无法确定line和column,rename也不对,不太理解rename=y&year.=var
二维码

扫码加我 拉你入群

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

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

2016-11-19 09:35:44
二维码

扫码加我 拉你入群

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

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

2016-11-19 17:05:37
luanzhuna 发表于 2016-11-19 08:51
不好意思能解释一下吗,试了但是跑不出来,无法确定line和column,rename也不对,不太理解rename=y&year. ...
估计没加分号 在%jj(2001); 这里,rename 是把 y2001 这种变量 变成最终var变量 要保留y2001的value
%macro jj(year);
data y&year.;
set a(keep=stkcd place  y&year. );
year=&year.;
rename y&year.=var;
run;
%mend jj;
%jj(2000);
%jj(2001);
%jj(2002);
%jj(2003);
%jj(2004);
%jj(2005);
%jj(2006);

data need;
set y2000-y2006;
proc sort;by stkcd place year;
run;
二维码

扫码加我 拉你入群

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

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

2016-11-21 09:56:34
data a;
stkcd="000001";
place="sz";
retain year2000-year2006 1;
array y{2000:2006} year2000-year2006;
do year=2000 to 2006;
var=y{year};
output;
end;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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