全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3931 8
2011-08-24
新手上路,望各位大侠多多指教。



现有两个变量和四组数据,想要先计算total_sales, 然后对每一个item计算share of sales (=sales/total_sales *100%).

item  sales  share_of_sales
1      5
2      5
3     10
4     10


谢谢:)
二维码

扫码加我 拉你入群

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

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

全部回复
2011-8-24 12:31:25
不客气,可以用SQL搞搞
二维码

扫码加我 拉你入群

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

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

2011-8-24 14:45:58
复制代码
二维码

扫码加我 拉你入群

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

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

2011-8-24 15:01:30
复制代码
二维码

扫码加我 拉你入群

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

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

2011-8-24 16:01:24
data a;
input item  sales;
cards;
1      5
2      5
3     10
4     10
;
run;

proc sql;
        create table b as
        select *,sales/sum(sales)*100 as share_of_sales   from a
        ;
quit;
二维码

扫码加我 拉你入群

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

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

2011-8-24 18:05:29
soporaeternus 发表于 2011-8-24 15:01
每次用
if _N_=1 then do until(EOF);
                set a end=EOF;
                <................>
        end;
是不是相当于对a做2次data步循环,只是合并在一个data步里做了呢?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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