我有一个 REC 列,可以在三个表中找到:GRAV、ATTRI 和 SIN_TOT。我想知道在这段代码的最终结果中,SAS到底采用了哪个表的REC列?知道每个表的 REC 列之间存在不同的值。
data plafond_dos;
merge grave (in=a)
attri (in=b)
sin_tot (in=c)
;
if a;
by exer_sin anc_ref cont;
run;
请参阅 here 有关此主题的文档,简要总结:
by
组中的第一个观察,任何共享的非 by 变量都将采用从中读取的 last 数据集的值(正如它们出现在 merge
语句中一样)。by
组中的所有下一条记录将隐式保留从中读取变量的first数据集的值。显然,这取决于每个数据集中存在哪些
by
组合来确定每组中的第一个和最后一个。