全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1014 1
2016-08-03
已知表1:

母猪

515512

406330

511706

510169

510887

510965

512266

300137

1

 

 

 

 

 

 

511363

 

 

1 

 

 

 

 

511099

 

 

 

 

3

 

4

402576

 

 

 

5

 

 

2

511593

2

 

 

5

3

 

4

405033

 

2

 

4

1

 

3

511454

5

 

 

 

 

 

3

402980

 

2

 

4

1

 

3

第一列是母猪,第一行是配种的公猪,数字是等级
:已知表2:

母猪

公猪

300137

406330

511363

511706

511099

510887

402576

510169

511593

515512

405033

511706

511454

510169

402980

510169


求做表3:

母猪

公猪

等级

300137

406330

0

511363

511706

0

511099

510887

3

402576

510169

5

511593

515512

2

405033

511706

0

511454

510169

0

402980

510169

1


表3的等级是由表1中的公母对应得到的得到的,如果没有数据就是0.
二维码

扫码加我 拉你入群

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

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

全部回复
2016-8-3 15:08:12
请检查一下表3的第二行,等级是否应该为1,以及最后一行,等级是否应该为4?
如果是,请试一下:

data t1;
input sow $ _515512 _406330 _511706 _510169 _510887 _510965 _512266;
cards;
300137 1 . . . . . .
511363 . . 1 . . . .
511099 . . . . 3 . 4
402576 . . . 5 . . 2
511593 2 . . 5 3 . 4
405033 . 2 . 4 1 . 3
511454 5 . . . . . 3
402980 . 2 . 4 1 . 3
;

data t2;
  input sow $ boar $;
  cards;
300137 406330
511363 511706
511099 510887
402576 510169
511593 515512
405033 511706
511454 510169
402980 510169
;

proc transpose data=t1 out=v_t1;
by sow notsorted;
var _515512 -- _512266;
run;

data v_t11;
set v_t1;
boar=strip(substr(_name_,2));
if col1=. then col1=0;
run;

proc sql;
create table wanted as
select a.*, b.col1 as level
from t2 a left join v_t11 b
on a.sow=b.sow and a.boar=b.boar;
quit;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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