全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2986 5
2017-05-07
proc tabulate data=work.tv_today;
    title1'2017年5月彩电业绩一览';
        title2'截止昨天';
class stores brands type '负责人'n;
var   sales;
table type*(stores*负责人 all) all,brands*sales*(sum rowpctsum) sales;
run;

分界线
上面是代码,下面是SAS的输出的表格
数据大致形式:分类变量brands共有’海信‘ ’创维‘ ’其它‘ 3个维度。
现在我不想要  brands下 ’其它‘这个维度的数据,也就是 其它 sales 下的sum 和 rowpctsum这2列数据,请问tabulate能做到吗?

附上部分截图
附件列表
111.png

原图尺寸 63.09 KB

111.png

二维码

扫码加我 拉你入群

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

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

全部回复
2017-5-7 21:57:29
应该可以用where brands ne '其他' 语句来做吧。
二维码

扫码加我 拉你入群

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

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

2017-5-7 22:31:21
tangbohu_us 发表于 2017-5-7 21:57
应该可以用where brands ne '其他' 语句来做吧。
我在代码里添加了   where brands ne '其它';   了以后,确实把其它这列数据删除了,可是‘创维’和‘海信’ 下的
rowpctsum这2列数据,也就是这2个品牌的占比数据不对了。

二维码

扫码加我 拉你入群

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

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

2017-5-8 00:16:13
你既要删掉‘其他’的列,又要更新统计数字,这光靠proc tabulate是不够的,应该回到你的源头数据那里做筛选,重新计算rowpctsum和输入正确的数据。
proc tabulate不过是帮你制表而已,清洗数据的活不能代劳。
二维码

扫码加我 拉你入群

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

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

2017-5-8 20:58:47
foocares 发表于 2017-5-8 00:16
你既要删掉‘其他’的列,又要更新统计数字,这光靠proc tabulate是不够的,应该回到你的源头数据那里做筛选 ...
明白了,看来只能重做了。
二维码

扫码加我 拉你入群

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

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

2017-5-9 01:33:04
其实你也可以ODS导出到rtf文件,用word编辑,手动删掉那一列数据。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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