楼主: tj0412ymy
1903 6

[问答] 编号排序问题 [推广有奖]

  • 2关注
  • 48粉丝

已卖:4314份资源

副教授

65%

还不是VIP/贵宾

-

威望
0
论坛币
11512 个
通用积分
12.7575
学术水平
72 点
热心指数
91 点
信用等级
64 点
经验
29292 点
帖子
545
精华
0
在线时间
1203 小时
注册时间
2009-3-10
最后登录
2024-2-15

楼主
tj0412ymy 发表于 2012-1-12 14:20:20 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
原始表:

A

A

A

A

A

A

A

B

A

C

B

D

B

C

B

D

C

F

C

G

C

F



想要得到的表:

A

A

1

A

A

1

A

A

1

A

B

2

A

C

3

B

C

1

B

D

2

B

D

2

C

F

1

C

F

1

C

G

2



请各位大虾指教如何实现这个过程?
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 CBDC CBD DCF ABA 如何

对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

沙发
baoaibaobao 发表于 2012-1-12 14:51:16
  1. data have;
  2. input (x y) ($);
  3. cards;
  4. A A
  5. A B
  6. A C
  7. A A
  8. B A
  9. B C
  10. B E
  11. C E
  12. C R
  13. C A
  14. ;
  15. PROC SORT DATA=HAVE OUT=HAVE1 NODUP;
  16. BY X Y;RUN;
  17. DATA HAVE1;
  18. SET HAVE1;
  19.         BY X Y;
  20.         IF FIRST.X AND FIRST.Y THEN INDEX=1;
  21.                 ELSE INDEX+1;
  22. RUN;
  23. PROC SQL NOPRINT;
  24.         CREATE TABLE TEST AS
  25.                 SELECT a.*,b.index from HAVE A LEFT JOIN HAVE1 B ON A.X=B.X AND A.Y=B.Y;
  26. QUIT;       
复制代码
已有 1 人评分热心指数 收起 理由
tj0412ymy + 1 热心帮助其他会员

总评分: 热心指数 + 1   查看全部评分

藤椅
tj0412ymy 发表于 2012-1-12 14:57:16
baoaibaobao 发表于 2012-1-12 14:51
高手,你好!目前我用的表比较大,用LEFT JOIN比较费时间,可否只操作一张表来实现这个过程?谢谢!
对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

板凳
maidenhan 发表于 2012-1-12 15:37:30
tj0412ymy 发表于 2012-1-12 14:57
高手,你好!目前我用的表比较大,用LEFT JOIN比较费时间,可否只操作一张表来实现这个过程?谢谢!
Try this:

data test01;
        input id1 $ id2 $ @@;
cards;
A A
A A
A A
A B
A C
B C
B D
B D
C F
C F
C G
;run;

proc sort data = test01;
        by id1 id2;
run;
data test02;
        set test01;
        by id1 id2;
        if first.id1 then dis = 0;
        if first.id2 then dis + 1;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
tj0412ymy + 1 + 1 + 1 热心帮助其他会员

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

报纸
tj0412ymy 发表于 2012-1-12 15:55:21
maidenhan 发表于 2012-1-12 15:37
Try this:

data test01;
Clever Guy! Thanks.
对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

地板
小麦芽的简单 发表于 2012-1-12 21:58:56
data a;
input x $ y $ @@;
cards;
A A
A A
A A
A B
A C
B C
B D
B D
C F
C F
C G
;run;

proc sort data = a;
by x y;
run;

DATA b;
SET  a;
BY X Y;
IF first.x and first.y then INDEX=1;
ELSE if first.y then INDEX+1;
RUN;

7
no6000 发表于 2012-1-13 10:03:48
小麦芽的简单 发表于 2012-1-12 21:58
data a;
input x $ y $ @@;
cards;
小麦芽,你给的方法和上面的基本一样,别来凑热闹了,你妈喊你回家吃饭呢

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 17:29