gpt4 book ai didi

sas - 数据步合并 PROC SQL 等效标记在哪个表记录中找到

转载 作者:行者123 更新时间:2023-12-04 19:56:26 25 4
gpt4 key购买 nike

我合并两个数据集如下:

data ds3;
merge ds1(in=in1) ds2(in=in2);
by mrgvar;
if in1;
if in2 then flag=1;
run;

如果我改为使用 PROC SQL 步骤来执行此操作,我该如何设置 flag 变量?

proc sql;
create table ds3 as
select a.*
,b.*
,???
from ds1 as a
left join
ds2 as b
on a.mrgvar=b.mrgvar;
quit;

最佳答案

一种常见的方法是将表别名与连接变量一起使用。

proc sql;
create table ds3 as
select a.*
,b.*
,case when b.mrgvar is null then 0 else 1 end as flag
from ds1 as a
left join
ds2 as b
on a.mrgvar=b.mrgvar;
quit;

达到那种效果 - 如果 b.mrgvar 为空/缺失,则它仅来自表 a。 (是的,您可以单独引用两者,即使它们基本相同并合并到结果表中。)

关于sas - 数据步合并 PROC SQL 等效标记在哪个表记录中找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26502040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com