全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2833 4
2020-08-06
各位大佬,大哥大姐,这些警告怎么去掉啊!
57         data mae;
58           merge ext1 cdmae;
59           by AETERM;
60           if not missing(RECORDID);
61         run;

WARNING: 输入数据集为 BY 变量 AETERM 指定了多个长度。这可能导致意外的结果。
INFO:  变量 PROJECT(数据集 WORK.EXT1 中)将被数据集 WORK.CDMAE 覆盖。
INFO:  变量 SUBJECT(数据集 WORK.EXT1 中)将被数据集 WORK.CDMAE 覆盖。
INFO:  变量 RECORDPOSITION(数据集 WORK.EXT1 中)将被数据集 WORK.CDMAE 覆盖。
WARNING: 输入数据集为变量“PROJECT”指定了多个长度。 这会造成数据截断。
WARNING: 输入数据集为变量“SUBJECT”指定了多个长度。 这会造成数据截断。

二维码

扫码加我 拉你入群

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

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

全部回复
2020-8-6 21:43:08
存在 俩问题:
1.datasets merge时, 如果除了by 变量以外还有相同的变量名存在,那么前面的同一变量里的赋值就会被后面dataset的同一变量里的赋值所覆盖。
解决方法是 rename 变量名。
2.对相同变量, merge后的dataset变量length取决于第一个dataset该变量的长度,如果第二个dataset的同一变量length更长, 那么merge后该部分的变量值就会被截断。
解决方法是在merge语句前加上length语句,定义这些变量的length值为两个中的最大值。
二维码

扫码加我 拉你入群

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

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

2020-8-7 09:33:11
解决了
data mae;
length AETERM $600.;
  merge ext1 cdmae;
  by AETERM;
  if not missing(RECORDID);
run;
二维码

扫码加我 拉你入群

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

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

2020-8-7 09:34:15
length 后面一定要加大于或等于变量的最长值
二维码

扫码加我 拉你入群

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

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

2020-8-7 09:35:40
xiaopingN 发表于 2020-8-6 21:43
存在 俩问题:
1.datasets merge时, 如果除了by 变量以外还有相同的变量名存在,那么前面的同一变量里的赋 ...
谢谢大佬回复!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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