From 2d29c6684d43bdcf5de92185313d63ed447d3ca5 Mon Sep 17 00:00:00 2001 From: Anna Saiapina Date: Wed, 5 Jun 2024 13:35:13 +0000 Subject: [PATCH] New report table for digital --- definitions/staging/stg_digital_report.sqlx | 57 ++++++++++++++------- 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/definitions/staging/stg_digital_report.sqlx b/definitions/staging/stg_digital_report.sqlx index 61f8ef5..9e80a2e 100644 --- a/definitions/staging/stg_digital_report.sqlx +++ b/definitions/staging/stg_digital_report.sqlx @@ -4,26 +4,47 @@ config { schema: "pphe_five9_stg", assertions: { uniqueKey: ["SESSION_GUID"], - nonNull: ["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 data for report" } -select TIMESTAMP, - date(TIMESTAMP), - EXTRACT(HOUR FROM TIMESTAMP), - EXTRACT(MONTH FROM TIMESTAMP), - EXTRACT(YEAR FROM TIMESTAMP), - AGENT_ID, - AGENT_NAME, - AGENT_GROUP, - DISPOSITION, - MEDIA_TYPE, - CAMPAIGN, - SKILL, - HANDLE_TIME, - TRANSFERS_TO_SKILL, - INTERACTIONS -from ${ref("stg_digital")} -${ when(incremental(), `where TIMESTAMP >= DATE_SUB(CURRENT_DATE(), INTERVAL 3 DAY)`) } \ No newline at end of file +select d.TIMESTAMP, + d.date(TIMESTAMP), + d.EXTRACT(HOUR FROM TIMESTAMP), + d.EXTRACT(MONTH FROM TIMESTAMP), + d.EXTRACT(YEAR FROM TIMESTAMP), + d.AGENT_ID, + d.AGENT_NAME, + a.LANGUAGES, + a.CODE LANGUAUGE_ID, + a.AGENT_GROUP_ID, + dl.AGENT_GROUP, + 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.TRANSFERS_TO_SKILL, + d.INTERACTIONS +from ${ref("stg_digital")} d +left join ${ref("stg_AGENT")} a +on dl.AGENT_ID = a.AGENT_ID +left join ${ref("stg_DISPOSITION")} dis +on dl.DISPOSITION = d.DISPOSITION +left join ${ref("stg_CAMPAIGN")} c +on dl.CAMPAIGN = c.CAMPAIGN +left join ${ref("stg_MAPPING_SKILL")} s +on dl.SKILL = s.SKILL +left join ${ref("stg_MAPPING_MEDIA_TYPE")} m +on dl.MEDIA_TYPE = m.MEDIA_TYPE +${ when(incremental(), `where TIMESTAMP >= DATE_SUB(CURRENT_DATE(), INTERVAL 5 DAY)`) } \ No newline at end of file