全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5462 11
2015-10-31
请问如何将逗号隔开的一个变量(比如,“A,B,C”)拆分为几个不同的变量?
我想把高管职务拆分为几个不同的变量,比如Position1, Position2, Position3,
非常感谢!
1.png

附件列表

test.rar

大小:862 Bytes

 马上下载

数据

本附件包括:

  • test.csv

2-3cv.rar

大小:8 KB

 马上下载

简历(学历)数据

本附件包括:

  • 2-3cv.xlsx

2-3cv.xlsx

大小:10.33 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2015-10-31 21:07:56
data yourdata;
    set yourdata;
    Position1=scan(Position,1,',');
    Position2=scan(Position,2,',');
    Position3=scan(Position,3,',');
run;
二维码

扫码加我 拉你入群

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

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

2015-10-31 22:16:48
共同学习了
二维码

扫码加我 拉你入群

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

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

2015-11-1 03:57:48
More details below.
二维码

扫码加我 拉你入群

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

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

2015-11-1 07:31:46
I did not know scan function; it was very nice. If I don't know scan, this is what I would do:

data test;
input name $1. position $50.;
cards;
A P1,P2,P3
B P1
C P1,P2, P3, P4
D P1,P2, P3, P4, P5
E P2, P5
run;


data out(keep=name position position1-position5);
    length name $10. position $50.;
    length position1-position5 $10.;   
    array positions[5] $ Position1-Position5;
    set test;
    rest = position;
    do p=1 to 5;
            loc = index(rest, ",");
            if loc > 0 then do;
                    positions[p]=substr(rest, 1, loc-1);
                    rest = substr(rest, loc+1, length(rest));
            end;
            else do;
                    positions[p] = rest;
                     p = 6;
           end;
end;
run;




二维码

扫码加我 拉你入群

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

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

2015-11-1 07:49:55
外部文件用infile语句,dlm选项(dlm=",")
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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