Override/update 过程中的 af 变量值 sql 使用 case when 语句
Override/update af variables value in proc sql using case when statement
我想将一个变量从 "old" 数据集左连接到 "new" 数据集。
UFORM 变量的值为 25 或 ..
如果左连接给我值 .,我想用值 0 替换它。我不能在下面的 sql 语句中更新 UFORM 变量的值而不是生成 UFORM2 变量吗?
下面的语句有效,但我不想使 UFORM2 变量。
proc sql;
create table new as
select X.*, Z.UFORM , case when Z.UFORM eq . then 0 else Z.UFORM end as UFORM2
from old X
left join info Z
on X.value1 = Z.value1
and X.value2 = Z.value2;
quit;
这是你想要的吗?
proc sql;
create table new as
select X.*, coalesce(Z.UFORM, 0) as UFROM
from old X left join
info Z
on X.value1 = Z.value1 and
X.value2 = Z.value2;
quit;
我想将一个变量从 "old" 数据集左连接到 "new" 数据集。 UFORM 变量的值为 25 或 .. 如果左连接给我值 .,我想用值 0 替换它。我不能在下面的 sql 语句中更新 UFORM 变量的值而不是生成 UFORM2 变量吗?
下面的语句有效,但我不想使 UFORM2 变量。
proc sql;
create table new as
select X.*, Z.UFORM , case when Z.UFORM eq . then 0 else Z.UFORM end as UFORM2
from old X
left join info Z
on X.value1 = Z.value1
and X.value2 = Z.value2;
quit;
这是你想要的吗?
proc sql;
create table new as
select X.*, coalesce(Z.UFORM, 0) as UFROM
from old X left join
info Z
on X.value1 = Z.value1 and
X.value2 = Z.value2;
quit;