Remove duplication for the calls report reporting
This commit is contained in:
parent
0c10d61456
commit
e42a555b8c
@ -1,9 +1,91 @@
|
|||||||
config {
|
config {
|
||||||
type: "table",
|
type: "table",
|
||||||
schema: "pphe_five9_gold",
|
schema: "pphe_five9_gold",
|
||||||
tags: ["daily"],
|
uniqueKey: ["SESSION_ID", "TIMESTAMP", "DNIS"],
|
||||||
|
assertions: {
|
||||||
|
uniqueKey: ["SESSION_ID", "TIMESTAMP", "DNIS"],
|
||||||
|
nonNull: ["SESSION_ID", "TIMESTAMP", "DNIS", "AGENT_GROUP_ID", "SKILL_ID"],
|
||||||
|
rowConditions: [
|
||||||
|
'BOARD_PROPERTY_GROUP <> "ADD"',
|
||||||
|
'DISPOSITION_GROUP <> "NOT_MAPPED"',
|
||||||
|
'CAMPAIGN_GROUP <> "NOT_MAPPED"',
|
||||||
|
'DISPOSITION_ID <> 0',
|
||||||
|
'DISPOSITION_GROUP_ID <> 0',
|
||||||
|
'CAMPAIGN_ID <> 0',
|
||||||
|
'CAMPAIGN_GROUP_ID <> 0',
|
||||||
|
]
|
||||||
|
},
|
||||||
|
tags: ["calls_report"],
|
||||||
description: "Exporting last 7 days of CALLS table"
|
description: "Exporting last 7 days of CALLS table"
|
||||||
}
|
}
|
||||||
|
|
||||||
select *
|
--Extraction and transformation of fields that are used in Board load further. Contains last 7 days
|
||||||
from ${ref("stg_calls_report")}
|
select sc.SESSION_ID,
|
||||||
|
sc.DNIS,
|
||||||
|
sc.TIMESTAMP,
|
||||||
|
date(sc.TIMESTAMP) DATE,
|
||||||
|
EXTRACT(HOUR FROM sc.TIMESTAMP) HOUR,
|
||||||
|
EXTRACT(MONTH FROM sc.TIMESTAMP) MONTH,
|
||||||
|
EXTRACT(YEAR FROM sc.TIMESTAMP) YEAR,
|
||||||
|
sc.DAY_OF_WEEK,
|
||||||
|
sc.CALL_ID,
|
||||||
|
sc.ROUTING_HOTEL_NAME,
|
||||||
|
case
|
||||||
|
when sc.ROUTING_HOTEL_NAME is null
|
||||||
|
then '_'
|
||||||
|
else ifnull(p.BOARD_PROPERTY_GROUP, 'ADD') --for check of the missed properties
|
||||||
|
end BOARD_PROPERTY_GROUP,
|
||||||
|
sc.AGENT_ID,
|
||||||
|
sc.AGENT_NAME,
|
||||||
|
a.LANGUAGES,
|
||||||
|
a.CODE LANGUAUGE_ID,
|
||||||
|
a.AGENT_GROUP_ID,
|
||||||
|
sc.AGENT_GROUP,
|
||||||
|
COALESCE(d.DISPOSITION_ID, 0) as DISPOSITION_ID,
|
||||||
|
sc.DISPOSITION,
|
||||||
|
COALESCE(d.DISPOSITION_GROUP_ID, 0) as DISPOSITION_GROUP_ID,
|
||||||
|
COALESCE(d.DISPOSITION_GROUP, 'NOT_MAPPED') as DISPOSITION_GROUP,
|
||||||
|
COALESCE(c.CAMPAIGN_ID, 0) as CAMPAIGN_ID,
|
||||||
|
sc.CAMPAIGN,
|
||||||
|
COALESCE(c.CAMPAIGN_GROUP_ID, 0) as CAMPAIGN_GROUP_ID,
|
||||||
|
COALESCE(c.CAMPAIGN_GROUP, 'NOT_MAPPED') as CAMPAIGN_GROUP,
|
||||||
|
sc.SKILL,
|
||||||
|
s.SKILL_ID,
|
||||||
|
sc.CALL_TIME,
|
||||||
|
sc.CALL_TIME_FORMATTED,
|
||||||
|
sc.RING_TIME,
|
||||||
|
sc.RING_TIME_FORMATTED,
|
||||||
|
sc.TALK_TIME,
|
||||||
|
sc.TALK_TIME_FORMATTED,
|
||||||
|
sc.SPEED_OF_ANSWER,
|
||||||
|
sc.SPEED_OF_ANSWER_FORMATTED,
|
||||||
|
sc.AFTER_CALL_WORK_TIME,
|
||||||
|
sc.AFTER_CALL_WORK_TIME_FORMATTED,
|
||||||
|
sc.HOLD_TIME,
|
||||||
|
sc.HOLD_TIME_FORMATTED,
|
||||||
|
sc.TALK_TIME_LESS_HOLD_AND_PARK,
|
||||||
|
sc.TALK_TIME_LESS_HOLD_AND_PARK_FORMATTED,
|
||||||
|
sc.TRANSFERS,
|
||||||
|
sc.ABANDONED,
|
||||||
|
sc.CALLS,
|
||||||
|
sc.ANI,
|
||||||
|
c.CAMPAIGN_TYPE_ID,
|
||||||
|
sc.CAMPAIGN_TYPE,
|
||||||
|
"PHONE" MEDIA_TYPE_ID,
|
||||||
|
sc.TOTAL_QUEUE_TIME,
|
||||||
|
sc.TOTAL_QUEUE_TIME_FORMATTED,
|
||||||
|
sc.HANDLE_TIME,
|
||||||
|
sc.HANDLE_TIME_FORMATTED,
|
||||||
|
from ${ref("stg_calls")} sc
|
||||||
|
left join ${ref("stg_AGENT")} a
|
||||||
|
on sc.AGENT_ID = a.AGENT_ID
|
||||||
|
left join ${ref("stg_DISPOSITION")} d
|
||||||
|
on sc.DISPOSITION = d.DISPOSITION
|
||||||
|
left join ${ref("stg_CAMPAIGN")} c
|
||||||
|
on sc.CAMPAIGN = c.CAMPAIGN
|
||||||
|
left join ${ref("MAPPING_PROPERTY_CALLS")} p
|
||||||
|
on sc.Routing_Hotel_Name = p.ROUTING_HOTEL_NAME
|
||||||
|
left join ${ref("MAPPING_SKILL")} s
|
||||||
|
on sc.SKILL = s.SKILL
|
||||||
|
where date(sc.TIMESTAMP) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
|
||||||
|
and date(sc.TIMESTAMP) < CURRENT_DATE()
|
||||||
@ -1,91 +0,0 @@
|
|||||||
config {
|
|
||||||
type: "table",
|
|
||||||
uniqueKey: ["SESSION_ID", "TIMESTAMP", "DNIS"],
|
|
||||||
schema: "pphe_five9_stg",
|
|
||||||
assertions: {
|
|
||||||
uniqueKey: ["SESSION_ID", "TIMESTAMP", "DNIS"],
|
|
||||||
nonNull: ["SESSION_ID", "TIMESTAMP", "DNIS", "AGENT_GROUP_ID", "SKILL_ID"],
|
|
||||||
rowConditions: [
|
|
||||||
'BOARD_PROPERTY_GROUP <> "ADD"',
|
|
||||||
'DISPOSITION_GROUP <> "NOT_MAPPED"',
|
|
||||||
'CAMPAIGN_GROUP <> "NOT_MAPPED"',
|
|
||||||
'DISPOSITION_ID <> 0',
|
|
||||||
'DISPOSITION_GROUP_ID <> 0',
|
|
||||||
'CAMPAIGN_ID <> 0',
|
|
||||||
'CAMPAIGN_GROUP_ID <> 0',
|
|
||||||
]
|
|
||||||
},
|
|
||||||
tags: ["calls_report"],
|
|
||||||
description: "Main calls data for report"
|
|
||||||
}
|
|
||||||
|
|
||||||
--Extraction and transformation of fields that are used in Board load further. Contains last 7 days
|
|
||||||
select sc.SESSION_ID,
|
|
||||||
sc.DNIS,
|
|
||||||
sc.TIMESTAMP,
|
|
||||||
date(sc.TIMESTAMP) DATE,
|
|
||||||
EXTRACT(HOUR FROM sc.TIMESTAMP) HOUR,
|
|
||||||
EXTRACT(MONTH FROM sc.TIMESTAMP) MONTH,
|
|
||||||
EXTRACT(YEAR FROM sc.TIMESTAMP) YEAR,
|
|
||||||
sc.DAY_OF_WEEK,
|
|
||||||
sc.CALL_ID,
|
|
||||||
sc.ROUTING_HOTEL_NAME,
|
|
||||||
case
|
|
||||||
when sc.ROUTING_HOTEL_NAME is null
|
|
||||||
then '_'
|
|
||||||
else ifnull(p.BOARD_PROPERTY_GROUP, 'ADD') --for check of the missed properties
|
|
||||||
end BOARD_PROPERTY_GROUP,
|
|
||||||
sc.AGENT_ID,
|
|
||||||
sc.AGENT_NAME,
|
|
||||||
a.LANGUAGES,
|
|
||||||
a.CODE LANGUAUGE_ID,
|
|
||||||
a.AGENT_GROUP_ID,
|
|
||||||
sc.AGENT_GROUP,
|
|
||||||
COALESCE(d.DISPOSITION_ID, 0) as DISPOSITION_ID,
|
|
||||||
sc.DISPOSITION,
|
|
||||||
COALESCE(d.DISPOSITION_GROUP_ID, 0) as DISPOSITION_GROUP_ID,
|
|
||||||
COALESCE(d.DISPOSITION_GROUP, 'NOT_MAPPED') as DISPOSITION_GROUP,
|
|
||||||
COALESCE(c.CAMPAIGN_ID, 0) as CAMPAIGN_ID,
|
|
||||||
sc.CAMPAIGN,
|
|
||||||
COALESCE(c.CAMPAIGN_GROUP_ID, 0) as CAMPAIGN_GROUP_ID,
|
|
||||||
COALESCE(c.CAMPAIGN_GROUP, 'NOT_MAPPED') as CAMPAIGN_GROUP,
|
|
||||||
sc.SKILL,
|
|
||||||
s.SKILL_ID,
|
|
||||||
sc.CALL_TIME,
|
|
||||||
sc.CALL_TIME_FORMATTED,
|
|
||||||
sc.RING_TIME,
|
|
||||||
sc.RING_TIME_FORMATTED,
|
|
||||||
sc.TALK_TIME,
|
|
||||||
sc.TALK_TIME_FORMATTED,
|
|
||||||
sc.SPEED_OF_ANSWER,
|
|
||||||
sc.SPEED_OF_ANSWER_FORMATTED,
|
|
||||||
sc.AFTER_CALL_WORK_TIME,
|
|
||||||
sc.AFTER_CALL_WORK_TIME_FORMATTED,
|
|
||||||
sc.HOLD_TIME,
|
|
||||||
sc.HOLD_TIME_FORMATTED,
|
|
||||||
sc.TALK_TIME_LESS_HOLD_AND_PARK,
|
|
||||||
sc.TALK_TIME_LESS_HOLD_AND_PARK_FORMATTED,
|
|
||||||
sc.TRANSFERS,
|
|
||||||
sc.ABANDONED,
|
|
||||||
sc.CALLS,
|
|
||||||
sc.ANI,
|
|
||||||
c.CAMPAIGN_TYPE_ID,
|
|
||||||
sc.CAMPAIGN_TYPE,
|
|
||||||
"PHONE" MEDIA_TYPE_ID,
|
|
||||||
sc.TOTAL_QUEUE_TIME,
|
|
||||||
sc.TOTAL_QUEUE_TIME_FORMATTED,
|
|
||||||
sc.HANDLE_TIME,
|
|
||||||
sc.HANDLE_TIME_FORMATTED,
|
|
||||||
from ${ref("stg_calls")} sc
|
|
||||||
left join ${ref("stg_AGENT")} a
|
|
||||||
on sc.AGENT_ID = a.AGENT_ID
|
|
||||||
left join ${ref("stg_DISPOSITION")} d
|
|
||||||
on sc.DISPOSITION = d.DISPOSITION
|
|
||||||
left join ${ref("stg_CAMPAIGN")} c
|
|
||||||
on sc.CAMPAIGN = c.CAMPAIGN
|
|
||||||
left join ${ref("MAPPING_PROPERTY_CALLS")} p
|
|
||||||
on sc.Routing_Hotel_Name = p.ROUTING_HOTEL_NAME
|
|
||||||
left join ${ref("MAPPING_SKILL")} s
|
|
||||||
on sc.SKILL = s.SKILL
|
|
||||||
where date(sc.TIMESTAMP) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
|
|
||||||
and date(sc.TIMESTAMP) < CURRENT_DATE()
|
|
||||||
Loading…
Reference in New Issue
Block a user