SAS中文论坛
标题:
【求助】如何拆分用分号隔开的变量
[打印本页]
作者:
shiyiming
时间:
2009-3-24 18:26
标题:
【求助】如何拆分用分号隔开的变量
我数据集中有个变量,是几个公司的名字组成,每个公司以“;”结尾。
数据集如下
stockcd var
1 A; B; C; D;
2 B; C; D;
我想变成这样:
stockcd var
1 A
1 B
1 C
1 D
2 B
2 C
2 D
请教如何实现?谢谢!!!
作者:
shiyiming
时间:
2009-3-25 08:34
标题:
Re: 【求助】如何拆分用分号隔开的变量
[code:1zpf9y2y]
data a;
length x $5. y $20.;
infile datalines missover ;
input ;
_in=trim(_infile_);
x=strip(scan(_in, 1, ' '));
_in=substr(_in, length(x)+1, length(_in));
n=count(_in,';');
do i=1 to n;
y=strip(scan(_in, i, ';'));
output;
end;
keep x y;
datalines4;
1 abd; dfef; evba;
2 bad; bea; beaera;beaf;
;;;;
run;
[/code:1zpf9y2y]
作者:
shiyiming
时间:
2009-3-25 18:07
标题:
Re: 【求助】如何拆分用分号隔开的变量
[code:3s2af52y]data a;
infile cards missover pad length=len ;
length A1 B1 $ 200 ;
input @01 x $varying200. len ;
A1=compress(scan(x,1,";"),compress(scan(x,1,";"),'0123456789')) ;
B1=compress(scan(x,1,";"),' 0123456789') ;
OUTPUT ;
do i=2 by 1 while(scan(x,i,";") ne ' ') ;
B1=compress(scan(x,i,";")) ;
output ;
end ;
keep A1 B1 ;
cards4 ;
1 A; B; C; D;
2 B; C; D;
;;;;
run ;
[/code:3s2af52y]
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2