p***e 发帖数: 118 | 1 有DATA1
Num Product
1 Lipitor
1 Crestor
1 Zetia
1 Zocor
变成 DATA2
Num Product
1 Lipitor
1 Crestor
2 Lipitor
2 Zetia
3 Lipitor
3 Zocor
4 Crestor
4 Zetia
5 Crestor
5 Zocor
基本上把col2的产品名字排列组合一下,请问这里的高人有没有什么简便方法?
谢谢谢谢 |
k*******a 发帖数: 772 | 2 用 proc sql 可以做 cross join,然后transpose就可以了 |
p***e 发帖数: 118 | 3 厉害厉害,明白了
【在 k*******a 的大作中提到】 : 用 proc sql 可以做 cross join,然后transpose就可以了
|
k*******a 发帖数: 772 | 4 这样可能更简单些
data a;
input num product $;
datalines;
1 Lipitor
1 Crestor
1 Zetia
1 Zocor
;
data b;
set a(keep=product rename=(product=product1)) nobs=nobs;
do i=_N_+1 to nobs;
num+1;
product=product1;
output;
set a(keep=product) point=i;
output;
end;
drop product1;
run;
【在 p***e 的大作中提到】 : 厉害厉害,明白了
|
p***e 发帖数: 118 | 5 你是天才!
【在 k*******a 的大作中提到】 : 这样可能更简单些 : data a; : input num product $; : datalines; : 1 Lipitor : 1 Crestor : 1 Zetia : 1 Zocor : ; : data b;
|
p***e 发帖数: 118 | 6 请再问一下,
对这样的table
Num Product Counts
1 Lipitor 33
1 Crestor 555
1 Zetia 3234
1 Zocor 212
好像用这个方法,counts不好对应,
不知道有没有方法用retain来做这样counts也能对应
另有一个问题,
Product Counts
Lipitor 33
Crestor 555
Zetia 3234
Zocor 212
变成
Product Lipitor Crestor Zetia Zocor
Lipitor X 588 3267 245
Crestor 588 X 3889 767
Zetia 3267 3889 X 3446
Zocor 245 767 3446 X
不同产品的counts 求和,有没有什么简单方法??
我用了transpose 三次以上,方法特别笨
多谢多谢
【在 k*******a 的大作中提到】 : 这样可能更简单些 : data a; : input num product $; : datalines; : 1 Lipitor : 1 Crestor : 1 Zetia : 1 Zocor : ; : data b;
|
s******r 发帖数: 1524 | 7 proc sql;
create table ttt2 as
select a.product, b.product as product2, a.counts+b.counts as counts from
ttt a inner join ttt b on a.product ne b.product
order by a.product, b.product
;
quit;run;
proc transpose data=ttt2 out=ttt3(drop=_name_);by product; id product2;var
counts;run;
【在 p***e 的大作中提到】 : 请再问一下, : 对这样的table : Num Product Counts : 1 Lipitor 33 : 1 Crestor 555 : 1 Zetia 3234 : 1 Zocor 212 : 好像用这个方法,counts不好对应, : 不知道有没有方法用retain来做这样counts也能对应 : 另有一个问题,
|