diff --git a/definitions/gold/closed_digital_export.sqlx b/definitions/gold/closed_digital_export.sqlx index db43aa2..8c2395e 100644 --- a/definitions/gold/closed_digital_export.sqlx +++ b/definitions/gold/closed_digital_export.sqlx @@ -1,9 +1,64 @@ config { type: "table", schema: "pphe_five9_gold", - tags: ["daily"], + uniqueKey: ["SESSION_GUID"], + tags: ["digital_report"], description: "Exporting last 7 days of DIGITAL table by end time." } -select * -from ${ref("stg_closed_digital_report")} \ No newline at end of file +--Extraction and transformation of fields that are used in Board load further. Contains last 7 days by the end time +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, + p.BOARD_PROPERTY_GROUP, + d.AGENT_ID, + d.AGENT_NAME, + a.LANGUAGES, + a.CODE LANGUAGE_ID, + a.AGENT_GROUP_ID, + d.AGENT_GROUP, + COALESCE(dis.DISPOSITION_ID, 0) as DISPOSITION_ID, + d.DISPOSITION, + COALESCE(dis.DISPOSITION_GROUP_ID, 0) as DISPOSITION_GROUP_ID, + COALESCE(dis.DISPOSITION_GROUP, 'NOT_MAPPED') as DISPOSITION_GROUP, + d.MEDIA_TYPE, + m.MEDIA_TYPE_ID, + COALESCE(c.CAMPAIGN_ID, 0) as CAMPAIGN_ID, + d.CAMPAIGN, + COALESCE(c.CAMPAIGN_GROUP_ID, 0) as CAMPAIGN_GROUP_ID, + COALESCE(c.CAMPAIGN_GROUP, 'NOT_MAPPED') as CAMPAIGN_GROUP, + d.SKILL, + s.SKILL_ID, + d.HANDLE_TIME, + d.HANDLE_TIME_FORMATTED, + d.TRANSFERS_TO_SKILL, + d.INTERACTIONS, + d.QUEUE_TIME, + d.QUEUE_TIME_FORMATTED, + case + when d.AGENT_ID = '0' and d.DISPOSITION = '[Not Defined]' + then 1 + else 0 + end QUEUE, + d.END_TIME, + d.AFTER_CHAT_WORK, + d.AFTER_CHAT_WORK_FORMATTED, +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("MAPPING_PROPERTY_DIGITAL")} p +on c.CAMPAIGN_ID = p.CAMPAIGN_ID +left join ${ref("MAPPING_SKILL")} s +on d.SKILL = s.SKILL +left join ${ref("MAPPING_MEDIA_TYPE")} m +on d.MEDIA_TYPE = m.MEDIA_TYPE +where date(d.END_TIME) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) +and date(d.END_TIME) < CURRENT_DATE() \ No newline at end of file diff --git a/definitions/staging/stg_closed_digital_report.sqlx b/definitions/staging/stg_closed_digital_report.sqlx deleted file mode 100644 index 9a79f59..0000000 --- a/definitions/staging/stg_closed_digital_report.sqlx +++ /dev/null @@ -1,64 +0,0 @@ -config { - type: "table", - uniqueKey: ["SESSION_GUID"], - schema: "pphe_five9_stg", - tags: ["digital_report"], - description: "Main digital data for report by the end_time" -} - ---Extraction and transformation of fields that are used in Board load further. Contains last 7 days by the end time -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, - p.BOARD_PROPERTY_GROUP, - d.AGENT_ID, - d.AGENT_NAME, - a.LANGUAGES, - a.CODE LANGUAGE_ID, - a.AGENT_GROUP_ID, - d.AGENT_GROUP, - COALESCE(dis.DISPOSITION_ID, 0) as DISPOSITION_ID, - d.DISPOSITION, - COALESCE(dis.DISPOSITION_GROUP_ID, 0) as DISPOSITION_GROUP_ID, - COALESCE(dis.DISPOSITION_GROUP, 'NOT_MAPPED') as DISPOSITION_GROUP, - d.MEDIA_TYPE, - m.MEDIA_TYPE_ID, - COALESCE(c.CAMPAIGN_ID, 0) as CAMPAIGN_ID, - d.CAMPAIGN, - COALESCE(c.CAMPAIGN_GROUP_ID, 0) as CAMPAIGN_GROUP_ID, - COALESCE(c.CAMPAIGN_GROUP, 'NOT_MAPPED') as CAMPAIGN_GROUP, - d.SKILL, - s.SKILL_ID, - d.HANDLE_TIME, - d.HANDLE_TIME_FORMATTED, - d.TRANSFERS_TO_SKILL, - d.INTERACTIONS, - d.QUEUE_TIME, - d.QUEUE_TIME_FORMATTED, - case - when d.AGENT_ID = '0' and d.DISPOSITION = '[Not Defined]' - then 1 - else 0 - end QUEUE, - d.END_TIME, - d.AFTER_CHAT_WORK, - d.AFTER_CHAT_WORK_FORMATTED, -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("MAPPING_PROPERTY_DIGITAL")} p -on c.CAMPAIGN_ID = p.CAMPAIGN_ID -left join ${ref("MAPPING_SKILL")} s -on d.SKILL = s.SKILL -left join ${ref("MAPPING_MEDIA_TYPE")} m -on d.MEDIA_TYPE = m.MEDIA_TYPE -where date(d.END_TIME) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) -and date(d.END_TIME) < CURRENT_DATE() \ No newline at end of file