请选择 进入手机版 | 继续访问电脑版
楼主: zhaoping603
15074 11

[原创博文] SAS合并多个数据集时,变量数据被截断。求高手指点 [推广有奖]

  • 0关注
  • 0粉丝

本科生

39%

还不是VIP/贵宾

-

威望
0
论坛币
261 个
通用积分
0
学术水平
11 点
热心指数
13 点
信用等级
9 点
经验
338 点
帖子
74
精华
0
在线时间
83 小时
注册时间
2011-4-7
最后登录
2017-3-13

zhaoping603 发表于 2011-7-11 09:14:01 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
SAS合并多个数据集时, 出现错误:通过输入数据集为变量 customer_name 指定多个长度。 这会导致截断数据。
求指点,在合并步里边,是否能加个条件,把数据的最大长度设为新的长度。
二维码

扫码加我 拉你入群

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

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

关键词:高手指点 数据集 求高手 Customer custom

回帖推荐

pobel 发表于6楼  查看完整内容

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; d ...

本帖被以下文库推荐

honghejing 发表于 2011-7-11 09:45:59 |显示全部楼层 |坛友微信交流群
你可以先定义变量的长度,否则合并时候会以第一个dataset的长度为标准
已有 2 人评分学术水平 热心指数 收起 理由
FB_FLORA + 1 + 1 受教了
zhaoping603 + 1 + 1 谢啦。

总评分: 学术水平 + 2  热心指数 + 2   查看全部评分

使用道具

zhaoping603 发表于 2011-7-11 10:03:33 |显示全部楼层 |坛友微信交流群
谢谢你。每个数据集是直接导入的,自动设定最大长度了。合并时能不能加个设置项,也这样呢?没有别的办法了么?我还不懂怎么在导入时人为设置长度。求助。
2# honghejing

使用道具

zhaoping603 发表于 2011-7-11 10:10:24 |显示全部楼层 |坛友微信交流群
谢谢你的提示,我把最长的放在set后面的第一位置,这样合并得到的数据集效果好多了。可是说不定以后数据集一拆分还会出现问题。继续求助,希望哪位朋友帮我解答这个疑惑。万分感谢。 2# honghejing

使用道具

我想2楼的意思是set之前先length一下......
Let them be hard, but never unjust

使用道具

pobel 在职认证  发表于 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;
已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
bakoll + 3 + 3 精彩帖子
hopewell + 1 + 1 + 1 我很赞同
zhaoping603 + 1 + 1 All is well.
soporaeternus + 2 + 2 + 2 nice

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

和谐拯救危机

使用道具

zhaoping603 发表于 2011-7-11 10:57:41 |显示全部楼层 |坛友微信交流群
Millon thanks.人大论坛里的朋友都很好。谢谢解答。 5# soporaeternus

使用道具

zhaoping603 发表于 2011-7-11 10:58:49 |显示全部楼层 |坛友微信交流群
非常感谢呀。很大的帮助。解决了我的实际问题。Million thanks. 6# pobel

使用道具

红通通 发表于 2016-8-12 11:14:19 |显示全部楼层 |坛友微信交流群
pobel 发表于 2011-7-11 10:37
Data test1;
    x="aaa";
        y="bbbbb";
太棒啦!高手可否推荐一些学习资料!多谢啦!

使用道具

_appilepie_ 发表于 2016-11-10 09:41:40 |显示全部楼层 |坛友微信交流群
不知道还有没有别的方法,up一下。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 15:17