在 SAS 中时的条件问题

problem with conditions in case when in SAS

我想在 WPIS_ 中添加一个案例,如果 frm_code 是提到的代码之一,那么我们分配 W,如果不是,那么 B。我得到“语法错误”我做错了什么 休息代码正在工作

PROC SQL;     
create table PolisyEnd as 
    select distinct       
    t1.data_danych as data_danych 
     ,t4.spr_NRB as NRB
     ,intnx('month',datepart(t1.PRP_END_DATE),0,'b') format=yymmd7. as POLICY_VINTAGE,
case
    when datepart(t1.PRP_END_DATE) IS NOT NULL and datepart(t1.PRP_END_DATE) - &gv_date_dly. < 0 THEN 'W' 
    when datepart(t1.PRP_END_DATE) IS NOT NULL and datepart(t1.PRP_END_DATE) - &gv_date_dly. > 0 THEN 'A' 
    when datepart(t1.PRP_END_DATE) IS NULL THEN 'NO INFO' 

    end as POLISA_INFORMACJA
case
    when t5.frm_code = 'C11' then 'W'
    and t5.frm_code = 'A11' then 'W'
    and t5.frm_code ='C30' then 'W'
    and t5.frm_code 'ZH1' then 'W'
    else 'B'
    end as WPIS_
from 
    cmz.WMDTZDP_BH t1

正如@HoneyBadger 指出的那样,第一个 case 语句后应该有一个逗号。

在第二个 case 语句中还有 3 次 'and' 而不是 'when'。

t5.frm_code 'ZH1' then 'W' 中似乎缺少“=”。

最后还必须有一个semi-colon。