From 45a9d8b23c84f0983151e5e51afc99cbc0302575 Mon Sep 17 00:00:00 2001 From: Anna Saiapina Date: Wed, 25 Sep 2024 13:14:39 +0000 Subject: [PATCH] Add coalesce for ids to escape nulls --- .../staging/stg_agent_status_history_report.sqlx | 15 +++++++++------ definitions/staging/stg_agent_status_report.sqlx | 15 +++++++++------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/definitions/staging/stg_agent_status_history_report.sqlx b/definitions/staging/stg_agent_status_history_report.sqlx index 062eeae..566c430 100644 --- a/definitions/staging/stg_agent_status_history_report.sqlx +++ b/definitions/staging/stg_agent_status_history_report.sqlx @@ -6,7 +6,10 @@ config { uniqueKey: ["AGENT_ID", "TIMESTAMP", "STATE"], nonNull: ["AGENT_ID", "TIMESTAMP", "STATE"], rowConditions: [ - 'STATE_GROUP <> "NOT_MAPPED"' + 'STATE_GROUP <> "NOT_MAPPED"', + 'AGENT_ID <> "0" AND AGENT_NAME <> "NOT_MAPPED"', + 'STATE_ID <> 0', + 'REASON_CODE_ID <> 0' ] }, tags: ["agent_status_report"], @@ -15,8 +18,8 @@ config { --Extraction and transformation of fields that are used in Board load further. Contains all history data select ags.AGENT_ID, - ags.AGENT_NAME, - ags.AGENT_GROUP, + COALESCE(a.AGENT_NAME, 'NOT_MAPPED') AGENT_NAME, + COALESCE(a.AGENT_GROUP, 'NOT_MAPPED') as AGENT_GROUP, COALESCE(a.AGENT_GROUP_ID, 0) as AGENT_GROUP_ID, COALESCE(a.LANGUAGES, 'NOT_MAPPED') as LANGUAGES, COALESCE(a.CODE, 'NOT_MAPPED') as LANG_CODE, @@ -28,7 +31,7 @@ select ags.AGENT_ID, ) as AGENT_STATE_TIME_FORMATTED, ags.AGENT_START_DATE, ags.REASON_CODE, - mrc.REASON_CODE_ID, + COALESCE(mrc.REASON_CODE_ID, 0) as REASON_CODE_ID, ags.TIMESTAMP, date(ags.TIMESTAMP) DATE, EXTRACT(HOUR FROM ags.TIMESTAMP) HOUR, @@ -43,8 +46,8 @@ select ags.AGENT_ID, ags.SKILL_AVAILABILITY, ags.AVAILABLE_FOR_VM, ags.STATE, - mas.STATE_ID, - masg.STATE_GROUP_ID, + COALESCE(mas.STATE_ID, 0) as STATE_ID, + COALESCE(masg.STATE_GROUP_ID, 0) as STATE_GROUP_ID, COALESCE(masg.STATE_GROUP, 'NOT_MAPPED') as STATE_GROUP, ags.UNPAID_TIME, regexp_replace( diff --git a/definitions/staging/stg_agent_status_report.sqlx b/definitions/staging/stg_agent_status_report.sqlx index cd2ec09..71ce8ea 100644 --- a/definitions/staging/stg_agent_status_report.sqlx +++ b/definitions/staging/stg_agent_status_report.sqlx @@ -6,7 +6,10 @@ config { uniqueKey: ["AGENT_ID", "TIMESTAMP", "STATE"], nonNull: ["AGENT_ID", "TIMESTAMP", "STATE"], rowConditions: [ - 'STATE_GROUP <> "NOT_MAPPED"' + 'STATE_GROUP <> "NOT_MAPPED"', + 'AGENT_ID <> "0" AND AGENT_NAME <> "NOT_MAPPED"', + 'STATE_ID <> 0', + 'REASON_CODE_ID <> 0' ] }, tags: ["agent_status_report"], @@ -15,8 +18,8 @@ config { --Extraction and transformation of fields that are used in Board load further. Contains last 7 days select ags.AGENT_ID, - ags.AGENT_NAME, - ags.AGENT_GROUP, + COALESCE(a.AGENT_NAME, 'NOT_MAPPED') AGENT_NAME, + COALESCE(a.AGENT_GROUP, 'NOT_MAPPED') as AGENT_GROUP, COALESCE(a.AGENT_GROUP_ID, 0) as AGENT_GROUP_ID, COALESCE(a.LANGUAGES, 'NOT_MAPPED') as LANGUAGES, COALESCE(a.CODE, 'NOT_MAPPED') as LANG_CODE, @@ -28,7 +31,7 @@ select ags.AGENT_ID, ) as AGENT_STATE_TIME_FORMATTED, ags.AGENT_START_DATE, ags.REASON_CODE, - mrc.REASON_CODE_ID, + COALESCE(mrc.REASON_CODE_ID, 0) as REASON_CODE_ID, ags.TIMESTAMP, date(ags.TIMESTAMP) DATE, EXTRACT(HOUR FROM ags.TIMESTAMP) HOUR, @@ -43,8 +46,8 @@ select ags.AGENT_ID, ags.SKILL_AVAILABILITY, ags.AVAILABLE_FOR_VM, ags.STATE, - mas.STATE_ID, - masg.STATE_GROUP_ID, + COALESCE(mas.STATE_ID, 0) as STATE_ID, + COALESCE(masg.STATE_GROUP_ID, 0) as STATE_GROUP_ID, COALESCE(masg.STATE_GROUP, 'NOT_MAPPED') as STATE_GROUP, ags.UNPAID_TIME, regexp_replace(