diff --git a/definitions/staging/stg_agent_status_history_report.sqlx b/definitions/staging/stg_agent_status_history_report.sqlx index 6ab540e..3e9aef9 100644 --- a/definitions/staging/stg_agent_status_history_report.sqlx +++ b/definitions/staging/stg_agent_status_history_report.sqlx @@ -7,6 +7,8 @@ config { nonNull: ["AGENT_ID", "TIMESTAMP", "STATE"], rowConditions: [ 'STATE_GROUP <> "NOT_MAPPED"', + 'PRODUCTIVE <> "NOT_MAPPED"', + 'REVENUE <> "NOT_MAPPED"', 'AGENT_ID = "0" or (AGENT_ID <> "0" AND AGENT_NAME <> "NOT_MAPPED")', 'STATE_ID <> 0', 'REASON_CODE is null or (REASON_CODE is not null and REASON_CODE_ID <> 0)' @@ -61,6 +63,8 @@ select ags.AGENT_ID, r'^\d\d', cast(extract(hour from time(timestamp_seconds(cast(ags.PAID_TIME as int)))) + 24 * unix_date(date(timestamp_seconds(cast(ags.PAID_TIME as int)))) as string) ) as PAID_TIME_FORMATTED, + COALESCE(mpr.PRODUCTIVE, 'NOT_MAPPED') as PRODUCTIVE, + COALESCE(mpr.REVENUE, 'NOT_MAPPED') as REVENUE, from ${ref("stg_agent_status")} ags left join ${ref("stg_AGENT")} a on ags.AGENT_ID = a.AGENT_ID @@ -72,6 +76,9 @@ left join ${ref("stg_MAPPING_AGENT_STATE_GROUP_ID")} masg on masgi.STATE_GROUP_ID = masg.STATE_GROUP_ID left join ${ref("stg_MAPPING_AGENT_REASON_CODE_ID")} mrc on ags.REASON_CODE = mrc.REASON_CODE +left join ${ref("stg_MAPPING_PRODUCTIVE_REVENUE")} mpr +on mas.STATE_ID = mpr.STATE_ID +and mrc.REASON_CODE_ID = mpr.REASON_CODE_ID where ags.STATE not in ('Login', 'Logout', 'On Park', 'On Preview', 'On Video', 'On Voicemail') and ags.AGENT_ID <> '400000000081027' ${ when(incremental(), `and date(ags.TIMESTAMP) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) diff --git a/definitions/staging/stg_agent_status_report.sqlx b/definitions/staging/stg_agent_status_report.sqlx index b4ef08e..acc0fb2 100644 --- a/definitions/staging/stg_agent_status_report.sqlx +++ b/definitions/staging/stg_agent_status_report.sqlx @@ -7,6 +7,8 @@ config { nonNull: ["AGENT_ID", "TIMESTAMP", "STATE"], rowConditions: [ 'STATE_GROUP <> "NOT_MAPPED"', + 'PRODUCTIVE <> "NOT_MAPPED"', + 'REVENUE <> "NOT_MAPPED"', 'AGENT_ID = "0" or (AGENT_ID <> "0" AND AGENT_NAME <> "NOT_MAPPED")', 'STATE_ID <> 0', 'REASON_CODE is null or (REASON_CODE is not null and REASON_CODE_ID <> 0)' @@ -61,6 +63,8 @@ select ags.AGENT_ID, r'^\d\d', cast(extract(hour from time(timestamp_seconds(cast(ags.PAID_TIME as int)))) + 24 * unix_date(date(timestamp_seconds(cast(ags.PAID_TIME as int)))) as string) ) as PAID_TIME_FORMATTED, + COALESCE(mpr.PRODUCTIVE, 'NOT_MAPPED') as PRODUCTIVE, + COALESCE(mpr.REVENUE, 'NOT_MAPPED') as REVENUE, from ${ref("stg_agent_status")} ags left join ${ref("stg_AGENT")} a on ags.AGENT_ID = a.AGENT_ID @@ -72,6 +76,9 @@ left join ${ref("stg_MAPPING_AGENT_STATE_GROUP_ID")} masg on masgi.STATE_GROUP_ID = masg.STATE_GROUP_ID left join ${ref("stg_MAPPING_AGENT_REASON_CODE_ID")} mrc on ags.REASON_CODE = mrc.REASON_CODE +left join ${ref("stg_MAPPING_PRODUCTIVE_REVENUE")} mpr +on mas.STATE_ID = mpr.STATE_ID +and mrc.REASON_CODE_ID = mpr.REASON_CODE_ID where date(ags.TIMESTAMP) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) and ags.STATE not in ('Login', 'Logout', 'On Park', 'On Preview', 'On Video', 'On Voicemail') and ags.AGENT_ID <> '400000000081027'