在 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。
我想在 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。