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)
row_number
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
select cr.RESORT,
cr.MARKET_CODE,
cr.MARKET_DESC,
cr.CONFIRMATION_NO,
cr.RESV_STATUS,
ms.RESV_STATUS_ID,
cr.ARRIVAL,
cr.DEPARTURE,
cr.UPDATE_USER,
ca.AGENT_ID,
case
when date(safe_cast(cr.CHANGE_DATE as timestamp)) >= ca.CSC_START_DATE and
date(safe_cast(cr.CHANGE_DATE as timestamp)) <= ca.CSC_END_DATE
then 'Y'
else 'N'
end as CSC_AGENT_YN,
cr.CHANGE_DATE,
date(safe_cast(cr.CHANGE_DATE as timestamp)) DATE,
extract(hour from safe_cast(cr.CHANGE_DATE as timestamp)) HOUR,
cr.UPDATE_TYPE,
mu.UPDATE_TYPE_ID,
1 as COUNTER
from csc_rev_deduplicated cr
left join ${ref("pphe_five9_stg","stg_MAPPING_CSC_AGENT")} ca
on cr.UPDATE_USER=ca.OPERA_UPDATE_USER
left join ${ref("pphe_five9_stg","stg_MAPPING_RESV_STATUS")} ms
on cr.RESV_STATUS=ms.RESV_STATUS
left join ${ref("pphe_five9_stg","stg_MAPPING_UPDATE_TYPE")} mu
on cr.UPDATE_TYPE=mu.UPDATE_TYPE
where row_number = 1
and cr.UPDATE_USER is not null
and ca.AGENT_ID is not null
${ when(incremental(), `where _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d',current_date("Europe/Amsterdam"))`) }), --last date table is taken
csc_agent as (
select cr.RESORT,
cr.MARKET_CODE,
cr.MARKET_DESC,
cr.CONFIRMATION_NO,
cr.RESV_STATUS,
ms.RESV_STATUS_ID,
cr.ARRIVAL,
cr.DEPARTURE,
cr.UPDATE_USER,
ca.AGENT_ID,
case
when date(safe_cast(cr.CHANGE_DATE as timestamp)) >= ca.CSC_START_DATE and
date(safe_cast(cr.CHANGE_DATE as timestamp)) <= ca.CSC_END_DATE
then 'Y'
else 'N'
end as CSC_AGENT_YN,
cr.CHANGE_DATE,
date(safe_cast(cr.CHANGE_DATE as timestamp)) DATE,
extract(hour from safe_cast(cr.CHANGE_DATE as timestamp)) HOUR,
cr.UPDATE_TYPE,
mu.UPDATE_TYPE_ID,
1 as COUNTER,
from csc_rev_deduplicated cr
left join ${ref("pphe_five9_stg","stg_MAPPING_CSC_AGENT")} ca
on cr.UPDATE_USER=ca.OPERA_UPDATE_USER
left join ${ref("pphe_five9_stg","stg_MAPPING_RESV_STATUS")} ms
on cr.RESV_STATUS=ms.RESV_STATUS
left join ${ref("pphe_five9_stg","stg_MAPPING_UPDATE_TYPE")} mu
on cr.UPDATE_TYPE=mu.UPDATE_TYPE
where row_number = 1
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