Add new mapping to agent_status report tables

This commit is contained in:
Anna Saiapina 2024-10-10 12:27:02 +00:00 committed by GCP Dataform
parent 1950c5865f
commit c10a693219
2 changed files with 14 additions and 0 deletions

View File

@ -7,6 +7,8 @@ config {
nonNull: ["AGENT_ID", "TIMESTAMP", "STATE"], nonNull: ["AGENT_ID", "TIMESTAMP", "STATE"],
rowConditions: [ rowConditions: [
'STATE_GROUP <> "NOT_MAPPED"', 'STATE_GROUP <> "NOT_MAPPED"',
'PRODUCTIVE <> "NOT_MAPPED"',
'REVENUE <> "NOT_MAPPED"',
'AGENT_ID = "0" or (AGENT_ID <> "0" AND AGENT_NAME <> "NOT_MAPPED")', 'AGENT_ID = "0" or (AGENT_ID <> "0" AND AGENT_NAME <> "NOT_MAPPED")',
'STATE_ID <> 0', 'STATE_ID <> 0',
'REASON_CODE is null or (REASON_CODE is not null and REASON_CODE_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', 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) 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, ) as PAID_TIME_FORMATTED,
COALESCE(mpr.PRODUCTIVE, 'NOT_MAPPED') as PRODUCTIVE,
COALESCE(mpr.REVENUE, 'NOT_MAPPED') as REVENUE,
from ${ref("stg_agent_status")} ags from ${ref("stg_agent_status")} ags
left join ${ref("stg_AGENT")} a left join ${ref("stg_AGENT")} a
on ags.AGENT_ID = a.AGENT_ID 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 on masgi.STATE_GROUP_ID = masg.STATE_GROUP_ID
left join ${ref("stg_MAPPING_AGENT_REASON_CODE_ID")} mrc left join ${ref("stg_MAPPING_AGENT_REASON_CODE_ID")} mrc
on ags.REASON_CODE = mrc.REASON_CODE 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') where ags.STATE not in ('Login', 'Logout', 'On Park', 'On Preview', 'On Video', 'On Voicemail')
and ags.AGENT_ID <> '400000000081027' and ags.AGENT_ID <> '400000000081027'
${ when(incremental(), `and date(ags.TIMESTAMP) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) ${ when(incremental(), `and date(ags.TIMESTAMP) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)

View File

@ -7,6 +7,8 @@ config {
nonNull: ["AGENT_ID", "TIMESTAMP", "STATE"], nonNull: ["AGENT_ID", "TIMESTAMP", "STATE"],
rowConditions: [ rowConditions: [
'STATE_GROUP <> "NOT_MAPPED"', 'STATE_GROUP <> "NOT_MAPPED"',
'PRODUCTIVE <> "NOT_MAPPED"',
'REVENUE <> "NOT_MAPPED"',
'AGENT_ID = "0" or (AGENT_ID <> "0" AND AGENT_NAME <> "NOT_MAPPED")', 'AGENT_ID = "0" or (AGENT_ID <> "0" AND AGENT_NAME <> "NOT_MAPPED")',
'STATE_ID <> 0', 'STATE_ID <> 0',
'REASON_CODE is null or (REASON_CODE is not null and REASON_CODE_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', 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) 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, ) as PAID_TIME_FORMATTED,
COALESCE(mpr.PRODUCTIVE, 'NOT_MAPPED') as PRODUCTIVE,
COALESCE(mpr.REVENUE, 'NOT_MAPPED') as REVENUE,
from ${ref("stg_agent_status")} ags from ${ref("stg_agent_status")} ags
left join ${ref("stg_AGENT")} a left join ${ref("stg_AGENT")} a
on ags.AGENT_ID = a.AGENT_ID 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 on masgi.STATE_GROUP_ID = masg.STATE_GROUP_ID
left join ${ref("stg_MAPPING_AGENT_REASON_CODE_ID")} mrc left join ${ref("stg_MAPPING_AGENT_REASON_CODE_ID")} mrc
on ags.REASON_CODE = mrc.REASON_CODE 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) 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.STATE not in ('Login', 'Logout', 'On Park', 'On Preview', 'On Video', 'On Voicemail')
and ags.AGENT_ID <> '400000000081027' and ags.AGENT_ID <> '400000000081027'