diff --git a/definitions/staging/stg_digital_history_report.sqlx b/definitions/staging/stg_digital_history_report.sqlx new file mode 100644 index 0000000..7175e93 --- /dev/null +++ b/definitions/staging/stg_digital_history_report.sqlx @@ -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()`) } \ No newline at end of file