全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1859 6
2012-01-12
原始表:

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



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

扫码加我 拉你入群

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

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

全部回复
2012-1-12 14:51:16
复制代码
二维码

扫码加我 拉你入群

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

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

2012-1-12 14:57:16
baoaibaobao 发表于 2012-1-12 14:51
高手,你好!目前我用的表比较大,用LEFT JOIN比较费时间,可否只操作一张表来实现这个过程?谢谢!
二维码

扫码加我 拉你入群

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

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

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;
二维码

扫码加我 拉你入群

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

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

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

data test01;
Clever Guy! Thanks.
二维码

扫码加我 拉你入群

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

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

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;
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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