diff --git a/definitions/export/closed_digital_export.sqlx b/definitions/export/closed_digital_export.sqlx new file mode 100644 index 0000000..db43aa2 --- /dev/null +++ b/definitions/export/closed_digital_export.sqlx @@ -0,0 +1,9 @@ +config { + type: "table", + schema: "pphe_five9_gold", + tags: ["daily"], + description: "Exporting last 7 days of DIGITAL table by end time." +} + +select * +from ${ref("stg_closed_digital_report")} \ No newline at end of file diff --git a/definitions/staging/stg_closed_digital_report.sqlx b/definitions/staging/stg_closed_digital_report.sqlx new file mode 100644 index 0000000..6c9f7e8 --- /dev/null +++ b/definitions/staging/stg_closed_digital_report.sqlx @@ -0,0 +1,62 @@ +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 +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_PROPERTY_DIGITAL")} p +on c.CAMPAIGN_ID = p.CAMPAIGN_ID +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 +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