全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1317 2
2014-09-16
我的数据集如下:
ZQDM        YEAR      CGBL
000201     1991       50
000201     1991      48
000201     1991       30
``````
000201     1991      10
000201     1992      60
000201     1992      50
``````
000201    1992       5
000201    1993      70
``````
000201    2013      80
`````
000201   2013       4
000202   1992      55
````
000789   2013       4
我想对ZQDM相同,YEAR相同的CGBL按大小赋值。
形成如下形式:
ZQDM    YEAR   CGBL  IDX
000201  1991   50       1
000201   1991   48      2
```
000201    1991   10     22
000201    1992    60     1
``````
`````
如果单按ZQDM排序的话,程序为:
proc sort data=tt;
        by zqdm;
run;
data tt;
      set tt;
      by zqdm;
      retain idx;
     if first.zqdm then idx=1;
     else idx+1;
run;

但是,现在是先按ZQDM排序,再按YEAR排序,如何按照CGBL的大小顺序赋值IDX。我就不懂了。所以跪求高手指点。谢谢。
另外,如果数据集是先按ZQDM 排序,再按YEAR排序,再按XM排序,那么如何在按照CGBL的大小顺序赋值IDX呢。跪求高手进一步的指导。

谢谢。
二维码

扫码加我 拉你入群

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

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

全部回复
2014-9-16 10:32:11
一样的。
proc sort data=tt;
        by zqdm year descending cgbl;
run;
data tt;
      set tt;
      by zqdm year descending cgbl;
      retain idx;
     if first.year then idx=1;
     else idx+1;
run;
二维码

扫码加我 拉你入群

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

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

2014-9-16 10:39:46
好的。谢谢。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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