楼主: zhufengyuan
1743 7

sas追问2 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

57%

还不是VIP/贵宾

-

威望
0
论坛币
263 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
644 点
帖子
52
精华
0
在线时间
272 小时
注册时间
2009-9-8
最后登录
2022-1-28

楼主
zhufengyuan 发表于 2013-7-28 17:35:26 |AI写论文
15论坛币
数据第一步已经变成如下的形式:


城市  区域       板块                               规交1      
上海  宝山  大华板块              7号线,737,738,11号线,58,78
上海  嘉定  嘉定新城板块         3号线,嘉环二线,11号线

现在要变成如下形式:

城市  区域       板块          规交1     规交2      规交3     规交4     规交5   规交6
上海  宝山  大华板块         7号线    737          738       11号线    58        78
上海  嘉定  嘉定新城板块    3号线  嘉环二线 11号线

把逗号作为分隔符,每个交通工具都放在一格里。

最佳答案

你的太阳 查看完整内容

data a; input city :$8. distr :$8. bk :$20. gj :$100.; cards; 上海 宝山 大华板块 7号线,737,738,11号线,58,78 上海 嘉定 嘉定新城板块 3号线,嘉环二线,11号线 ; run; proc sql ; select max(countc(gj,','))+1 into :maxline from a; quit; data b; set a; array line(&maxline) $20.; do i = 1 to countc(gj,',')+1; line(i) = scan(gj,i,','); if i = countc(gj,',')+ ...
关键词:交通工具 上海 宝山 大华 嘉定 新城

本帖被以下文库推荐

  • · sas|主题: 59, 订阅: 14
每天进步一点点~~~

沙发
你的太阳 发表于 2013-7-28 17:35:27
data a;
input city :$8. distr :$8. bk :$20. gj :$100.;
cards;
上海  宝山  大华板块            7号线,737,738,11号线,58,78
上海  嘉定  嘉定新城板块        3号线,嘉环二线,11号线
;
run;

proc sql ;
        select max(countc(gj,','))+1 into :maxline
        from a;
quit;

data b;
        set a;
        array line(&maxline)  $20.;
        do i = 1 to countc(gj,',')+1;
                line(i) = scan(gj,i,',');
                if i = countc(gj,',')+1 then output;
        end;
        drop i;
run;
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin + 100 热心帮助其他会员
Actree + 1 + 1 + 1 分类

总评分: 论坛币 + 100  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
zhufengyuan 发表于 2013-7-28 17:52:32
数据第一步已经变成如下的形式:


城市  区域       板块                               规交1      
上海  宝山  大华板块              7号线,737,738,11号线,58,78
上海  嘉定  嘉定新城板块         3号线,嘉环二线,11号线

现在要变成如下形式:

城市  区域       板块          规交1     规交2      规交3     规交4     规交5   规交6
上海  宝山  大华板块         7号线    737          738       11号线    58        78
上海  嘉定  嘉定新城板块    3号线  嘉环二线 11号线

把逗号作为分隔符,每个交通工具都放在一格里。


顶!!!!!!!
每天进步一点点~~~

板凳
stata18 发表于 2013-7-28 18:28:30
data a;
input city :$8. distr :$8. bk :$20. gj :$100.;
cards;
上海  宝山  大华板块            7号线,737,738,11号线,58,78
上海  嘉定  嘉定新城板块        3号线,嘉环二线,11号线
;
run;
data b;set a end=lst;
n=compress(gj,',','k');
m=count(n,',')+1;
if _N_=1 then max=m;
retain max;
if m>max then max=m;
if lst then call symput('max',left(max));
drop n m;
run;
data c;set b;
array gjs(&max.) $10.;
do i=1 to &max.;
     gjs(i)=scan(gj,i,',');
end;
drop  i max gj;
run;

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Actree + 1 + 1 + 1 分类

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

报纸
zhufengyuan 发表于 2013-7-29 12:39:30
你的太阳 发表于 2013-7-28 17:35
data a;
input city :$8. distr :$8. bk :$20. gj :$100.;
cards;
thx!!!
每天进步一点点~~~

地板
wodematlab 发表于 2013-7-29 15:19:52
不错啊,学习~

7
jolterheadmmtt 发表于 2013-7-30 00:30:32
option nodate pagesize=60 linesize=80;

data a;
input city :$8. distr :$8. bk :$20. gj :$100.;
cards;
上海  宝山  大华板块            7号线,737,738,11号线,58,78
上海  嘉定  嘉定新城板块        3号线,嘉环二线,11号线
;
run;

data b;
  set a;
  gj1=substr(gj,1,index(gj,',')-1);
  mid1=substr(gj,index(gj,',')+1);
  gj2=substr(mid1,1,index(mid1,',')-1);
  mid2=substr(mid1,index(mid1,',')+1);
  gj3=substr(mid2,1,index(mid2,',')-1);
  mid3=substr(mid2,index(mid2,',')+1);
   gj4=substr(mid3,1,index(mid3,',')-1);
  mid4=substr(mid3,index(mid3,',')+1);
   gj5=substr(mid4,1,index(mid4,',')-1);
  mid5=substr(mid4,index(mid4,',')+1);
   gj6=substr(mid5,1,index(mid5,',')-1);
  mid6=substr(mid5,index(mid5,',')+1);
  drop gj mid1 mid2 mid3 mid4 mid5 mid6;
run;
proc print data=b;
run;

我是来学习的,笨办法,打个酱油

8
zhufengyuan 发表于 2013-7-30 17:24:57
jolterheadmmtt 发表于 2013-7-30 00:30
option nodate pagesize=60 linesize=80;

data a;
thx!!!
每天进步一点点~~~

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-15 00:04