全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9795 6
2012-12-27
数据和程序如下:
data test1;
    vara="A";
    varb="货品1:1,货品2:16,货品3:2,货品4:2,货品5:3,货品6:6,货品7:2,货品8:35,货品9:16,货品10:44,货品11:3,货品12:4,货品13:1,货品14:5,货品15:6,货品16:1,货品17:2,货品18:26,货品19:1,货品20:28,货品21:1,货品22:8,货品23:4,货品24:5,货品25:5
";
run;

data test2;
    set test1;
    array varb_(2) $20.;
    n=count(varb,',')+1;

   do i=1 to n;
        tmp=scan(varb, i,',');
            do j=1 to 3;
           varb_(j)=scan(tmp,j,":");
            end;
            output;
    end;
    keep vara varb_:;
run;
这样程序会报错:数组下标越界,如何解决?
二维码

扫码加我 拉你入群

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

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

全部回复
2012-12-27 16:36:15
do j=1 to 2;
二维码

扫码加我 拉你入群

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

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

2012-12-27 16:41:02
Imasasor 发表于 2012-12-27 16:36
do j=1 to 2;
确实是这个原因,谢谢~~
二维码

扫码加我 拉你入群

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

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

2017-5-15 20:59:06
Imasasor 发表于 2012-12-27 16:36
do j=1 to 2;
can u plz tell me why
二维码

扫码加我 拉你入群

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

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

2017-5-16 06:28:16
3232442590 发表于 2017-5-15 20:59
can u plz tell me why
因为楼主定义数组varb_为varb_(2)时就只能放两个值进去,用j=3寻址自然就越界了啊。
二维码

扫码加我 拉你入群

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

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

2017-5-16 11:54:08
foocares 发表于 2017-5-16 06:28
因为楼主定义数组varb_为varb_(2)时就只能放两个值进去,用j=3寻址自然就越界了啊。
thank u
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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