diff --git a/definitions/staging/stg_csc_agent.sqlx b/definitions/staging/stg_csc_agent.sqlx index a090896..d4beaa4 100644 --- a/definitions/staging/stg_csc_agent.sqlx +++ b/definitions/staging/stg_csc_agent.sqlx @@ -1,10 +1,10 @@ config { type: "incremental", - uniqueKey: ["RESORT", "CONFIRMATION_NO", "CHANGE_DATE"], + uniqueKey: ["UPDATE_USER", "CONFIRMATION_NO", "CHANGE_DATE", "UPDATE_TYPE"], schema: "pphe_five9_stg", assertions: { - uniqueKey: ["RESORT", "CONFIRMATION_NO", "CHANGE_DATE"], - nonNull: ["RESORT", "CONFIRMATION_NO", "CHANGE_DATE"] + uniqueKey: ["UPDATE_USER", "CONFIRMATION_NO", "CHANGE_DATE", "UPDATE_TYPE"], + nonNull: ["UPDATE_USER", "CONFIRMATION_NO", "CHANGE_DATE", "UPDATE_TYPE"] }, description: "All history data for csc revenue changes" } @@ -17,15 +17,23 @@ select *, 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 RESORT, - MARKET_CODE, - MARKET_DESC, - CONFIRMATION_NO, - RESV_STATUS, - ARRIVAL, - DEPARTURE, - UPDATE_USER, - CHANGE_DATE, - UPDATE_TYPE, -from csc_rev_deduplicated +select cr.RESORT, + cr.MARKET_CODE, + cr.CONFIRMATION_NO, + 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, + 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 where row_number = 1