【发布时间】:2021-12-12 14:52:21
【问题描述】:
我有两个查询,第一个收集信息,第二个应该总结结果。但是,代码向我显示了重复的结果。例如,对于 2021-10,我有几条记录,我希望每个月都有一条记录。
PROC SQL;
create table PolisyEnd as
select distinct
(t4.spr_NRB) as NRB
,datepart(t1.PRP_END_DATE) as POLICY_VINTAGE format yymmd7.,
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 and datepart(t1.PRP_END_DATE) - &gv_date_dly. <=7 THEN 'U'
when datepart(t1.PRP_END_DATE) IS NOT NULL and datepart(t1.PRP_END_DATE) - &gv_date_dly. >= 30 THEN 'A'
when datepart(t1.PRP_END_DATE) IS NULL THEN 'NO INFO'
end as POLISA_
from
cmz.WMDTZDP_BH t1
left join
(select distinct kontr_id,obj_oid from cmz.BH_D_ZAB_X_ALOK_&thismonth) t2
on t2.obj_oid = t1.obj_oid
left join
(select distinct data_danych, kontr_id, kre_nrb from dm.BH_WMDTKRE_&thismonth) t3
on t3.kontr_id = t2.kontr_id
left join
(select distinct spr_NRB, spr_STATUS from _mart.mart_kred) t4
on t4.spr_NRB = t3.kre_nrb
where datepart(t1.data_danych) between '5Aug2019'd and &gv_date_dly. and t1.Actual = "T"
and t4.spr_STATUS ="A"
group by
datepart(t1.data_danych)
,datepart(t1.PRP_END_DATE)
;
quit;
PROC SQL;
create table PolisyEnd1 as
select distinct
POLICY_VINTAGE
,count(NRB) as NUMBER
from PolisyEnd
where POLISA_INFORMACJA ="A"
group by POLICY_
;
Quit;
【问题讨论】:
-
这里的目标是什么?你在数什么?