是否有解决方案将此SAS代码写入“ proc sql”进程?

Bin*_*nn5 2 sql sas

我在下面编写了此代码以完成2个任务:

  1. 如果满足“('01JUL2019'd-EXVISDAT + 1)<OverDueDays”的条件,则将变量“ miscrit”的值更改为null。
  2. 然后从表中删除目标日期和逾期的列。

我想知道是否有可能用“ proc sql”过程编写此过程,因为这些天我对sql过程真的很感兴趣。

谢谢大家的帮助!

data test4;
    set test3;
    if ('01JUL2019'd - EXVISDAT + 1) < OverDueDays then do;
    miscrit="";
    end;
    drop targetdays overduedays;
run;
Run Code Online (Sandbox Code Playgroud)

我设法使用proc sql来更改变量的值。但是不知道如何添加该表中的targetdays和overduedays列的删除代码。

proc sql;
    update test05
    set miscrit = ""
    where ('01JUL2019'd - EXVISDAT + 1) < OverDueDays
    ;
quit;
Run Code Online (Sandbox Code Playgroud)

Ale*_*ida 6

尝试使用alter table

proc sql;
    update test05
    set miscrit = ""
    where ('01JUL2019'd - EXVISDAT + 1) < OverDueDays
    ;
    alter table test05
    drop targetdays,overduedays;
quit;
Run Code Online (Sandbox Code Playgroud)