我正在尝试合并两个数据集,第一个数据集包含ID和位置,第二个数据集包含客户信息,包括与第一个数据集相同的ID。我尝试了几种不同的方法来尝试执行此操作,最近一次尝试的是:
Data Work.merged;
merge Work.dataone (in = in1)
Work.datatwo (in = in2);
by id location;
if in1 and in2;
Run;
这将输出包含0个观测值的“合并”数据集,SAS在日志中未输出错误或警告消息。
谢谢您的帮助!
答案 0 :(得分:2)
您的IF语句仅从两个数据集中选择匹配的记录。如果work.merged有0条记录,则意味着没有匹配项。要查看不匹配的记录,最简单的方法是添加一条PUT语句以将这些记录写入日志。
考虑:
data work.merged ;
merge
work.dataone (in = in1)
work.datatwo (in = in2)
;
by id location;
if not (in1 and in2) then put “Mismatch” (id location in1 in2)(=) ;
if in1 and in2 ;
run ;