Add filter for only actual records in csc

This commit is contained in:
Anna Saiapina 2024-11-21 15:13:25 +00:00 committed by GCP Dataform
parent 26830313de
commit 71cf8ad273

View File

@ -17,36 +17,47 @@ select *,
OVER (PARTITION BY UPDATE_USER, CONFIRMATION_NO, CHANGE_DATE, UPDATE_TYPE) OVER (PARTITION BY UPDATE_USER, CONFIRMATION_NO, CHANGE_DATE, UPDATE_TYPE)
row_number row_number
from ${ref("pphe_five9_raw","csc_rev_changes_*")} from ${ref("pphe_five9_raw","csc_rev_changes_*")}
${ when(incremental(), `where _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d',current_date("Europe/Amsterdam"))`) }) --last date table is taken ${ when(incremental(), `where _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d',current_date("Europe/Amsterdam"))`) }), --last date table is taken
select cr.RESORT, csc_agent as (
cr.MARKET_CODE, select cr.RESORT,
cr.MARKET_DESC, cr.MARKET_CODE,
cr.CONFIRMATION_NO, cr.MARKET_DESC,
cr.RESV_STATUS, cr.CONFIRMATION_NO,
ms.RESV_STATUS_ID, cr.RESV_STATUS,
cr.ARRIVAL, ms.RESV_STATUS_ID,
cr.DEPARTURE, cr.ARRIVAL,
cr.UPDATE_USER, cr.DEPARTURE,
ca.AGENT_ID, cr.UPDATE_USER,
case ca.AGENT_ID,
when date(safe_cast(cr.CHANGE_DATE as timestamp)) >= ca.CSC_START_DATE and case
date(safe_cast(cr.CHANGE_DATE as timestamp)) <= ca.CSC_END_DATE when date(safe_cast(cr.CHANGE_DATE as timestamp)) >= ca.CSC_START_DATE and
then 'Y' date(safe_cast(cr.CHANGE_DATE as timestamp)) <= ca.CSC_END_DATE
else 'N' then 'Y'
end as CSC_AGENT_YN, else 'N'
cr.CHANGE_DATE, end as CSC_AGENT_YN,
date(safe_cast(cr.CHANGE_DATE as timestamp)) DATE, cr.CHANGE_DATE,
extract(hour from safe_cast(cr.CHANGE_DATE as timestamp)) HOUR, date(safe_cast(cr.CHANGE_DATE as timestamp)) DATE,
cr.UPDATE_TYPE, extract(hour from safe_cast(cr.CHANGE_DATE as timestamp)) HOUR,
mu.UPDATE_TYPE_ID, cr.UPDATE_TYPE,
1 as COUNTER mu.UPDATE_TYPE_ID,
from csc_rev_deduplicated cr 1 as COUNTER,
left join ${ref("pphe_five9_stg","stg_MAPPING_CSC_AGENT")} ca from csc_rev_deduplicated cr
on cr.UPDATE_USER=ca.OPERA_UPDATE_USER left join ${ref("pphe_five9_stg","stg_MAPPING_CSC_AGENT")} ca
left join ${ref("pphe_five9_stg","stg_MAPPING_RESV_STATUS")} ms on cr.UPDATE_USER=ca.OPERA_UPDATE_USER
on cr.RESV_STATUS=ms.RESV_STATUS left join ${ref("pphe_five9_stg","stg_MAPPING_RESV_STATUS")} ms
left join ${ref("pphe_five9_stg","stg_MAPPING_UPDATE_TYPE")} mu on cr.RESV_STATUS=ms.RESV_STATUS
on cr.UPDATE_TYPE=mu.UPDATE_TYPE left join ${ref("pphe_five9_stg","stg_MAPPING_UPDATE_TYPE")} mu
where row_number = 1 on cr.UPDATE_TYPE=mu.UPDATE_TYPE
and cr.UPDATE_USER is not null where row_number = 1
and ca.AGENT_ID is not null and cr.UPDATE_USER is not null
and ca.AGENT_ID is not null
),
act_recs as (
select *,
ROW_NUMBER()
OVER (PARTITION BY UPDATE_USER, CONFIRMATION_NO, CHANGE_DATE, UPDATE_TYPE order by CSC_AGENT_YN desc)
act
from csc_agent
)
select * from act_recs
where act = 1