楼主: lovelybetty1208
30442 15

sas 分类求和、求占比的 问题 [推广有奖]

  • 0关注
  • 1粉丝

博士生

48%

还不是VIP/贵宾

-

威望
0
论坛币
97 个
通用积分
0
学术水平
1 点
热心指数
5 点
信用等级
1 点
经验
17473 点
帖子
294
精华
0
在线时间
147 小时
注册时间
2011-11-5
最后登录
2015-7-11

20论坛币

请高手帮忙, 现有一个数据集需要统计。内容是每个销售人员对不同客户的销售次数,金额,对每个客户可以有2种类型的销售行为,其中只有第一类有金额产生,第二类不产生金额。如图test2.  客户中有一部分是北京的,其余不是。

现在希望得到的2个数据集

第一个:

按每个销售人员进行统计。 第一列销售人员代码,第二列北京的客户数,第三列销售次数总计(北京客户),第四列金额总计(北京客户),第五列北京客户数占总客户数的%,第六列北京客户销售次数占总次数的%,第七列北京客户金额占总销售金额的%;



第二个:

按每个销售人员对应的客户进行统计。 第一列销售人员代码,第二列客户代码,第三列销售次数总计,第四列金额总计,第五列销售额占这个销售人员总销售额的%,第六列金额总计在这个销售人员总销售金额的%;


请问该怎么写代码才能得到我要的数据集呢?关联北京客户部分没问题。主要是关联好了之后如何进一步处理。
原始数据
sales,client,type,times,amount
jame,a001,1,10,45
jame,a001,0,3,.
jame,a002,1,11,67
jame,a002,0,9,.
jame,a003,1,33,99
jame,a003,0,10,.
jame,a004,0,34,.
david,a002,1,11,22
david,a002,0,23,.
david,b001,1,12,27
david,b001,0,16,.
david,b002,1,13,38
david,b002,0,9,.
david,b004,1,14,38
david,b004,0,43,.
david,c001,1,15,38
micheal,a001,1,25,26
micheal,a001,0,16,.
micheal,a002,1,16,49
micheal,a002,0,17,.
micheal,b003,1,18,77
micheal,b003,0,19,.
micheal,d001,1,16,58
micheal,d001,0,21,.
micheal,e001,0,22,.
jacky,f011,1,26,56
jacky,f011,0,21,.
jacky,d009,1,13,59
jacky,d009,0,16,.
jacky,d008,1,17,94
jacky,d008,0,17,.
jacky,w011,1,17,83
jacky,w011,0,33,.
jacky,q001,1,32,59
jacky,q001,0,25,.
jacky,a002,1,27,126
jacky,a002,0,37,.
jacky,c012,1,18,117
jacky,c012,0,9,.
jacky,b003,1,42,231
jacky,b003,0,33,.

北京客户数据


client        city
a001        1
a002        1
a003        1
a004        1
b004        1
b003        1
b002        1
b001        1
c001        1
e001        1
f011        1
w011        1
d009        1
d008        1

test2_1.jpg (21.14 KB)

test2_1.jpg

test2.jpg (81.23 KB)

test2.jpg

最佳答案

yongyitian 查看完整内容

数据集sale_city与13楼的相同。运行下面的code可得到你要的结果。 proc sql; create table table1 as select a.sales as sales, a.NB_Client as nb, a.NB_client / b.N_Client as nb_pct format=percent7.2, a.TB_sale_time as freq, a.TB_sale_time / b.sum_time as freq_pct format=percent7.2, a.TB_amount as amount, ...
关键词:micheal Client amount David Times amount 北京 销售额 如何
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。
沙发
yongyitian 发表于 2013-4-3 13:10:33 |只看作者 |坛友微信交流群
数据集sale_city与13楼的相同。运行下面的code可得到你要的结果。

proc sql;  
    create table table1 as
    select  a.sales as sales,
              a.NB_Client as nb,
              a.NB_client / b.N_Client  as  nb_pct format=percent7.2,
              a.TB_sale_time as freq,
              a.TB_sale_time / b.sum_time as freq_pct format=percent7.2,
              a.TB_amount as amount,
              a.TB_amount / b.sum_amount as amount_pct format=percent7.2
      from (select sales,
              count(distinct client) as NB_client,
              sum(times) as TB_sale_time,
              sum(amount) as TB_amount
              from sale_city
              where city = 1
              group by sales) as a,
             (select sales, count(distinct client) as N_client,
                            sum(times) as sum_time,
                            sum(amount) as sum_amount
                            from sale_city
                            group by sales) as b
                            where a.sales = b.sales;
quit;
proc sql;
    create table table20 as;
    select *,  sum(times) as sum_time, sum(amount) as sum_amount
    from sale_city  
where city=1
group by sales;
    create table table2 as
      select sales, client,  
                    sum(times)    as time,
                    sum(amount) as amount,
                    sum(times)/sum_time    as time_pct   format=percent7.2,
                    sum(amount)/sum_amount as amount_pct   format=percent7.2
          from table20
   group by sales, client
   order by sales, client;  
  * drop table table20;
quit;
proc sort data = table2 out=table2_final nodup; by sales client; run;

proc print data=table1; run;
proc print data=table2_final; title 'table2_final'; run;



已有 2 人评分学术水平 热心指数 信用等级 收起 理由
QueenCi.Shine + 2 + 2 热心帮助其他会员
lovelybetty1208 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 1   查看全部评分

使用道具

藤椅
zhengbo8 发表于 2013-4-3 15:02:29 |只看作者 |坛友微信交流群
原始数据集都没,不会有人来回答

使用道具

zhengbo8 发表于 2013-4-3 15:02
原始数据集都没,不会有人来回答
我有贴出来啊?怎么大家看不到?那我该怎么贴啊?
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

报纸
zhengbo8 发表于 2013-4-3 15:05:23 |只看作者 |坛友微信交流群
SAS数据集文件,附件,不是截图,解决问题,还要自己打数据……

使用道具

耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

7
lovelybetty1208 发表于 2013-4-3 15:07:35 |只看作者 |坛友微信交流群
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

8
zhengbo8 发表于 2013-4-3 15:10:00 |只看作者 |坛友微信交流群
没看见,上传后,要添加到编辑器中,不然看不见

使用道具

9
webgu 发表于 2013-4-3 18:17:14 |只看作者 |坛友微信交流群
数据不要弄成图片格式。你也不希望帮你回答的人一个一个敲入图片中的数据吧。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

原始数据
sales,client,type,times,amount
jame,a001,1,10,45
jame,a001,0,3,.
jame,a002,1,11,67
jame,a002,0,9,.
jame,a003,1,33,99
jame,a003,0,10,.
jame,a004,0,34,.
david,a002,1,11,22
david,a002,0,23,.
david,b001,1,12,27
david,b001,0,16,.
david,b002,1,13,38
david,b002,0,9,.
david,b004,1,14,38
david,b004,0,43,.
david,c001,1,15,38
micheal,a001,1,25,26
micheal,a001,0,16,.
micheal,a002,1,16,49
micheal,a002,0,17,.
micheal,b003,1,18,77
micheal,b003,0,19,.
micheal,d001,1,16,58
micheal,d001,0,21,.
micheal,e001,0,22,.
jacky,f011,1,26,56
jacky,f011,0,21,.
jacky,d009,1,13,59
jacky,d009,0,16,.
jacky,d008,1,17,94
jacky,d008,0,17,.
jacky,w011,1,17,83
jacky,w011,0,33,.
jacky,q001,1,32,59
jacky,q001,0,25,.
jacky,a002,1,27,126
jacky,a002,0,37,.
jacky,c012,1,18,117
jacky,c012,0,9,.
jacky,b003,1,42,231
jacky,b003,0,33,.
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 13:01