全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3195 7
2010-04-10
合并两个数据表时出现warning说"输入数据集为 BY 变量 a指定了多个长度,可能导致意外结果"什么原因?
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-10 20:08:21
哪位大侠去帮帮忙啊
二维码

扫码加我 拉你入群

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

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

2010-4-10 23:03:54
你把程序贴出来嘛
大家看看
只是看到LOG 没得用的
二维码

扫码加我 拉你入群

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

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

2010-4-10 23:47:49
没程序,没办法看哦~
二维码

扫码加我 拉你入群

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

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

2010-4-11 10:59:43
1# sweet-air

相同变量在不同的表格里长度不同。SAS要求同一个名字的变量(最好)要同长度。通常没有什么大问题。为了保险起见,把那个长度长的放在第一个表格里。或者在merge之前定义by 变量的长度。如果你要去掉warning,可能费些功夫,但是,问题应该不大。
二维码

扫码加我 拉你入群

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

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

2010-4-12 01:15:09
sweet-air 发表于 2010-4-10 19:43
合并两个数据表时出现warning说"输入数据集为 BY 变量 a指定了多个长度,可能导致意外结果"什么原因?
Here is an example to help you to understand how SAS is doing in this case.

data t1;
  do id=1 to 3;
     a='333';
    output;
end;
run;

data t2;
  do id=3 to 5;
     a='22';
    output;
end;
run;


data all;
   merge t1 t2;
   by id;
run;

proc print; run;

data all;
   merge t2 t1;
   by id;
run;

proc print; run;

data all;
   length a $4;
   merge t2 t1;
   by id;
run;

proc print; run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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