Переопределить / обновить значение переменных af в proc sql, используя оператор case when - PullRequest
0 голосов
/ 24 мая 2019

Я хочу объединить переменную из "старого" набора данных в "новый" набор данных.Переменная UFORM имеет значения 25 или .. Если левое соединение дает мне значение., Я хочу заменить его значением 0. Не могу ли я обновить значение переменной UFORM в следующей инструкции sql вместосделать переменную 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;

1 Ответ

2 голосов
/ 24 мая 2019

Это то, что вы хотите?

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;
...