全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
16987 11
2011-07-11
SAS合并多个数据集时, 出现错误:通过输入数据集为变量 customer_name 指定多个长度。 这会导致截断数据。
求指点,在合并步里边,是否能加个条件,把数据的最大长度设为新的长度。
二维码

扫码加我 拉你入群

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

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

全部回复
2011-7-11 09:45:59
你可以先定义变量的长度,否则合并时候会以第一个dataset的长度为标准
二维码

扫码加我 拉你入群

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

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

2011-7-11 10:03:33
谢谢你。每个数据集是直接导入的,自动设定最大长度了。合并时能不能加个设置项,也这样呢?没有别的办法了么?我还不懂怎么在导入时人为设置长度。求助。
2# honghejing
二维码

扫码加我 拉你入群

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

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

2011-7-11 10:10:24
谢谢你的提示,我把最长的放在set后面的第一位置,这样合并得到的数据集效果好多了。可是说不定以后数据集一拆分还会出现问题。继续求助,希望哪位朋友帮我解答这个疑惑。万分感谢。 2# honghejing
二维码

扫码加我 拉你入群

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

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

2011-7-11 10:20:07
我想2楼的意思是set之前先length一下......
二维码

扫码加我 拉你入群

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

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

2011-7-11 10:37:04
Data test1;
    x="aaa";
        y="bbbbb";
run;

data test2;
    x="cccccccccc";
        y="ddd";
run;

*** 找出每个字符型变量的最大长度;
proc sql noprint;
   select distinct cat(strip(name)," $",max(length)) into : varlen separated by " "
     from dictionary.columns
         where libname="WORK" and memname in ("TEST1","TEST2") and upcase(type)="CHAR"
     group by name;
quit;

%put &varlen;

data test3;
    length &varlen;   /*Set length before set*/
        set test1 test2;
run;

data test4;
   length &varlen;
   set test2 test1;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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