SAS中更新和合并的使用
我有如下两个数据集SAS中更新和合并的使用,sas,Sas,我有如下两个数据集 dataset ab; input m; cards; 102 103 104 run; dataset ac; input m; cards; 102 102 103 103 104 104 104 run; 当我写下下面的声明时 data a; merge ab ac; by m; run; data b; update ab ac; by m; run; 我得到的输出是102 102 103 104 但当我写更新声明时 data a; mer
dataset ab;
input m;
cards;
102
103
104
run;
dataset ac;
input m;
cards;
102
102
103
103
104
104
104
run;
当我写下下面的声明时
data a;
merge ab ac;
by m;
run;
data b;
update ab ac;
by m;
run;
我得到的输出是102 102 103 104
但当我写更新声明时
data a;
merge ab ac;
by m;
run;
data b;
update ab ac;
by m;
run;
我得到的输出是102103104
你能解释一下更新声明中发生了什么吗
Thanks in Advance,
Nikhila
更新将按1应用事务处理。主表要求具有唯一的BY值,该值为true。事务表具有倍数,但没有任何新值,因此不会添加它们 如果事务的BY值不在表中,它将添加它 通过更新和以下方式可能会有所帮助:
data ab;
input m @@;
cards;
101 102 103 104
;;;;
run;
data ac;
input m @@;
cards;
102 102 103 103 104 104 104
;;;;
run;
data b;
update ab ac(in=in1);
by m;
if first.m then tCount=0;
tCount + in1;
run;
proc print;
run;
谢谢你的解释:)我理解得很清楚