config { type: "table", schema: "pphe_five9_gold", uniqueKey: ["SESSION_GUID"], assertions: { uniqueKey: ["SESSION_GUID"], nonNull: ["SESSION_GUID", "AGENT_GROUP_ID", "MEDIA_TYPE_ID", "SKILL_ID"], rowConditions: [ 'DISPOSITION_GROUP <> "NOT_MAPPED"', 'CAMPAIGN_GROUP <> "NOT_MAPPED"', 'DISPOSITION_ID <> 0', 'DISPOSITION_GROUP_ID <> 0', 'CAMPAIGN_ID <> 0', 'CAMPAIGN_GROUP_ID <> 0', ] }, tags: ["digital_report"], description: "Exporting last 7 days of DIGITAL table." } --Extraction and transformation of fields that are used in Board load further. Contains last 7 days 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.TIMESTAMP) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) and date(d.TIMESTAMP) < CURRENT_DATE()