Add history table for digital with report fields

This commit is contained in:
Anna Saiapina 2024-07-17 13:55:49 +00:00 committed by GCP Dataform
parent 48e5ae7399
commit b88d6e465d

View File

@ -0,0 +1,54 @@
config {
type: "incremental",
uniqueKey: ["SESSION_GUID"],
schema: "pphe_five9_stg",
assertions: {
uniqueKey: ["SESSION_GUID"],
nonNull: ["SESSION_GUID", "AGENT_GROUP_ID", "DISPOSITION_ID", "MEDIA_TYPE_ID",
"CAMPAIGN_ID", "CAMPAIGN_GROUP_ID", "CAMPAIGN_GROUP", "SKILL_ID"]
},
tags: ["digital_report"],
description: "Main digital history data for report"
}
select d.SESSION_GUID,
d.TIMESTAMP,
date(d.TIMESTAMP) DATE,
EXTRACT(HOUR FROM d.TIMESTAMP) HOUR,
EXTRACT(MONTH FROM d.TIMESTAMP) MONTH,
EXTRACT(YEAR FROM d.TIMESTAMP) YEAR,
d.STATUS,
d.AGENT_ID,
d.AGENT_NAME,
a.LANGUAGES,
a.CODE LANGUAGE_ID,
a.AGENT_GROUP_ID,
d.AGENT_GROUP,
dis.DISPOSITION_ID,
d.DISPOSITION,
d.MEDIA_TYPE,
m.MEDIA_TYPE_ID,
c.CAMPAIGN_ID,
d.CAMPAIGN,
c.CAMPAIGN_GROUP_ID,
c.CAMPAIGN_GROUP,
d.SKILL,
s.SKILL_ID,
d.HANDLE_TIME,
d.HANDLE_TIME_FORMATTED,
d.TRANSFERS_TO_SKILL,
d.INTERACTIONS
from ${ref("stg_digital")} d
left join ${ref("stg_AGENT")} a
on d.AGENT_ID = a.AGENT_ID
left join ${ref("stg_DISPOSITION")} dis
on d.DISPOSITION = dis.DISPOSITION
left join ${ref("stg_CAMPAIGN")} c
on d.CAMPAIGN = c.CAMPAIGN
left join ${ref("stg_MAPPING_SKILL")} s
on d.SKILL = s.SKILL
left join ${ref("stg_MAPPING_MEDIA_TYPE")} m
on d.MEDIA_TYPE = m.MEDIA_TYPE
${ when(incremental(), `where date(d.TIMESTAMP) >= DATE_SUB(CURRENT_DATE(), INTERVAL 6 DAY)
and date(d.TIMESTAMP) < CURRENT_DATE()`) }