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;