全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5567 2
2014-04-22
         下面数据ID有4个,但收入很多(每组个数不一样),我只想读取每组数据的前三个,然后计算前三个的平均数和第三个相对于第一个的变化率,最后根据ID列出ID,收入均数和变化。做了一天,没做出来,有些小白,求大神指导下~~
ID收入

1

219.59

1

67.03

1

722.99

1

85.95

1

53.34

1

78.62

1

47.73

1

0.13

1

65.4

1

66

2

3.05

2

74.9

2

74.74

2

0.64

2

3.6

2

8.96

2

0.15

2

93

2

0.2

2

7.81

2

0.15

2

10.9

2

8.82

3

94.3

3

72.76

3

0.66

3

55.11

3

26.83

3

63.1

3

94.86

3

66

3

0.3

3

48

3

48

3

33.05

3

122.86

3

81.63

3

74.6

3

9.35

3

49.7

3

5.2

4

3.33

4

84.14

4

113.64

4

97.48

4

8.63

4

131.44

4

1.2

4

123.05

4

35.43

4

87.8

4

33

4

122.23

4

102.2

4

143.36

4

109.2

4

82.98

4

47.4

4

33.41

4

194.98


二维码

扫码加我 拉你入群

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

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

全部回复
2014-4-22 12:16:04
proc sort data=b;
by id descending 收入;
run;

data a;
set b;
by id;
retain ex count sum avg ;
/*ex保留第一个ID的收入值;count 计算每一个ID的收入记录;sum 计算前三的收入和;avg 计算前三的平均值*/
if first.id then do;
count=0;ex=收入;end;
count+1;
sum+收入;
if count=3 then do; avg=sum/3;xielv=收入/ex; end;
if last.id then ouput;
run;

二维码

扫码加我 拉你入群

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

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

2014-4-22 20:57:17
minglg 发表于 2014-4-22 12:16
proc sort data=b;
by id descending 收入;
run;
很好用,歇歇~~~~
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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