比较N个数据集,仅输出并保存差异

时间:2018-12-06 21:47:23

标签: sas

我需要比较(成对)N个数据集中的观测值。所有数据集都具有相同的表变量属性。我只关心是否发现观测值之间的差异,并且我需要知道哪两个表以及特定的差异。最有效的方法是什么?我在下面有些事,不胜感激。

我当前正在使用以下代码:

proc compare base = a compare = b 
outnoequal outbase outcomp outdif noprint out = a_b_out; 
run;

因此,对于每个数据集a_b_out,我只关心它是否不为空。 SAS日志可以为此生成注释。 我目前正在使用宏来检查每个a_b_out中是否为空,并有条件地将其输出到永久目录。

有没有更好(更有效的方法)?

1 个答案:

答案 0 :(得分:0)

当然,这是一种合理的方法。将其放在宏中,然后让宏运行比较并检查差异。

如果需要,实际上您还可以在运行PROC COMPARE之后使用系统代码来查看报告的差异类型; &SYSINFO.包含一个值,该值描述了所报告的差异类型-例如,请参见this paper以获取更多信息。 (基本上,它是一个压缩整数,每个位是一个表示差异的标志-第13位表示一个值差异,即4096。

相关问题