全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4166 2
2013-05-11
问题如下:
源文件写在一个access文件里(已经分类排序),已经导入SAS,现在要在表右方添加两列:
一列名称为行业销售收入占比(share_sales),求出该年各个省份每个行业的每个公司销售收入占全行业的比例。
另一列名称为该行业前两家公司销售收入比例之和(front_2_share_sales),这个变量作为每个公司身处在行业内的竞争程度。

数据量很大,有近百万。

year       address         industry      company       sales          share_sales          front2_share_sales
1996        01                 001            xxxx1             5                       
1996        01                 001            xxxx2             4         
1996        01                 001            xxxx3             3
1996        01                 002            xxxx4             9
1996              01                                002            xxxx5             8
1996        01                 002            xxxx6             7
1996        02                 001            xxxx7            10
1996        02                 001            xxxx8             6
1996        02                 001            xxxx9             5
1996        03      ............
................

在没有分组的情况下求比例比较简单,但是涉及到了两重分组,所以处理起来没有想出有效的方法,希望高手慷慨解答这个问题,最好写出完整代码,不胜感激。
二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-11 16:49:33
复制代码
二维码

扫码加我 拉你入群

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

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

2013-5-11 19:24:18
邓贵大 发表于 2013-5-11 16:49
大侠,对您的这个程序运行时不是很清楚,望指教,谢谢!
1.运行过程:  猜的是 按照year address industry为一组处理,如lz的前面到3条记录,第一次do--until将这个3条处理完后,第二次的do--until时候,指针是又跳到第一条记录,完成这一组数据处理;接着继续按照这种形式处理第二组数据(4-6条)吧

2._n_值的变化,我在您程序第二次出现do until ---end中加入  put 'test' @10_n_=;  之后,显示_n_的值都是第一次do until---end处理一组数据后的值,并没有如想像中从_n_=1开始变化
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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