楼主: gavin4403
1357 2

跪求高手指导赋值程序 [推广有奖]

  • 2关注
  • 0粉丝

博士生

33%

还不是VIP/贵宾

-

威望
0
论坛币
640 个
通用积分
30.6300
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
4447 点
帖子
170
精华
0
在线时间
238 小时
注册时间
2007-4-27
最后登录
2024-10-4

楼主
gavin4403 发表于 2014-9-16 10:23:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我的数据集如下:
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呢。跪求高手进一步的指导。

谢谢。
二维码

扫码加我 拉你入群

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

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

关键词:求高手 RETAIN First year Data 程序

沙发
caihl05 发表于 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;

藤椅
gavin4403 发表于 2014-9-16 10:39:46
好的。谢谢。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 12:57