全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1799 9
2016-05-10
我有一些数据,形式如下:
LOCATION TIME SALE
A 2016Q1 100
B 2016Q1 50
A 2016 Q2 150
B 2016Q2 200
A 2016Q3 100
B 2016Q4 100
我想利用PROC TABULATE 或者其他过程,得出如下的累加表格:
LOCATION YEAR
A 2016Q1 2016Q2 2016Q3 2016Q4
  100        250      350       350
B 2016Q1 2016Q2 2016Q3 2016Q4
  50       250         250       300
请问应该如何处理?TABULATE制出来的表都是当期的数值,不是累加数值。谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2016-5-11 16:58:53
复制代码

二维码

扫码加我 拉你入群

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

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

2016-5-12 13:03:52
zjtj12 发表于 2016-5-11 16:58
location 和 time 是字符,不知道为什么“$”显示不出来
二维码

扫码加我 拉你入群

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

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

2016-5-12 22:20:10
data temp;
input LOCATION  $2.   time   $8.     SALE 3.;
cards;
a 2016Q1 100
b 2016Q1 50
a 2016Q2 150
b 2016Q2 200
a 2016Q3 100
b 2016Q4 100
a 2016Q1 105
b 2016Q1 150
a 2016Q2 250
b 2016Q2 100
a 2016Q4 100
b 2016Q3 100
;
run;

proc tabulate data=work.temp;
tables location, time*sale*(sum='');
class location time;
var sale;
run;
二维码

扫码加我 拉你入群

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

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

2016-5-16 11:58:54
zjtj12 发表于 2016-5-11 16:58
刚出差回来,我用您的代码跑了一下,不是累计数啊,还是当期数啊!按照数据,A在2016Q1的销量是205,在2016Q2的累计销量是205+150+250=605才对,程序跑出来A的2016Q2只有400.。。
二维码

扫码加我 拉你入群

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

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

2016-5-16 11:59:36
jackson1113 发表于 2016-5-12 22:20
data temp;
input LOCATION  $2.   time   $8.     SALE 3.;
cards;
这位大哥,您的代码结果和一楼一样啊,也不是累计数,只是当期数呀!按照数据,A在2016Q1的销量是205,在2016Q2的累计销量是205+150+250=605才对,程序跑出来A的2016Q2只有400.。。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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