楼主: luanzhuna
1859 5

SAS转变值的显示方式 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

大专生

30%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
482 点
帖子
38
精华
0
在线时间
23 小时
注册时间
2015-6-10
最后登录
2017-10-23

楼主
luanzhuna 发表于 2016-11-18 18:48:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
QQ图片20161118184717.png
出事的表格是这样的,但是我想把后面的年份在列上表示出来,也就是这样:
stkcd             place      year        var
000001       深圳市      2000      1
000001       深圳市      2001      0
000001       深圳市      2002      0
。。。。。。
000002       深圳市      2000      1
。。。。。。
请问可以用什么办法?
二维码

扫码加我 拉你入群

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

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

关键词:place stkcd year 深圳市 PLA 深圳市

沙发
lovexialulu 发表于 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;

藤椅
luanzhuna 发表于 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

板凳
孙玉芝32 发表于 2016-11-19 09:35:44

报纸
lovexialulu 发表于 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;

地板
wang1839 在职认证  发表于 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;

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

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