Most evaluations summarize conversations or agent actions: per skill, per agent, per hour. To do this, you group the data and put totals in the header or footer of the group.
Creating groups
In the Group and Sort window at the bottom of the designer:
- Click Add a Group and choose the field to group by, for example
SkillName. A group header with this group field is created above Detail. - If the group should also have a footer — for example for its totals — check Show Footer in its row.
- Under Sort Order, you set whether the groups appear Ascending or Descending.
- You create further levels — for example per skill and, within it, per language — in the same way and arrange them with Move Up and Move Down.
Delete removes the selected level; if its header or footer is not empty, the designer asks first. Then drag the group field from the Field List into the group header so that each group shows its name.
If a report should only show totals, set the height of Detail to 0 — this is how the templates work.
Good group fields
| Field | Groups by |
|---|---|
SkillName, SkillGroupName, LanguageName |
skill, skill group, language |
AgentName |
agent (agent report, conversation details report) |
ConversationType |
conversation type: call, email, chat … |
PauseReason |
activity (agent report) |
Classification |
classification |
Name |
alarm (alarm report) |
GroupTime |
time interval according to Time group base and Time group count — see below |
Grouping by time interval
myContactCenter forms the GroupTime field when the report runs, from the
parameters Time group base and Time group count, in the local time of
the report. If you group by it, one group per time interval is created: with
Hour and 1, one per hour; with Minute and 15, one per quarter hour;
with Day, one per day. The “… by Time …” templates work this way. Whoever
runs the report chooses the time interval — so the same design works for daily
and monthly overviews.
For weekdays or times of day over a longer period, create a
calculated field, for example
GetDayOfWeek([ConversationStartTime]) or
GetHour([ConversationStartTime]), and group by it.
Sorting
- Add a Sort sorts the rows within the groups, for example by the start of the conversation.
- You sort groups by their total — for example the skills by the number of conversations — with the Sorting Summary property of the group header.
Summaries
A total is a Label control with a summary:
- Drag a field, for example
IsConnected, from the Field List into the group header or group footer. - Open the smart tag on the control and, under Summary, the settings.
- Under Summary Running, choose what the summary covers: Group, Page or Report.
- Under Summary Func, choose the function, for example Sum.
The expression of the control is then, for example, sumSum([IsConnected]);
you can extend it like any expression. Without a
summary, a control only shows the value of the current row. The functions
available include Sum, Count, Count (Distinct), Average,
Min, Max, Median, Percentage, Running Summary and
Record Number.
Metrics from the statistics
| Metric | Expression |
|---|---|
| Conversations | sumDCount([guid]) — counts each conversation once |
| Connected, abandoned, rejected | sumSum([IsConnected]), sumSum([IsAbandoned]), sumSum([IsRejected]) |
| Share connected | sumSum([IsConnected]) / sumDCount([guid]), formatted as a percentage |
| Average talk time | Iif(sumSum([IsConnected]) = 0, 0, sumSum([TotalConnectDuration]) / sumSum([IsConnected])) |
| Average wait time | sumAvg([TotalWaitDuration]) |
| Offered, accepted (agent report) | sumSum([isPresentedConversation]), sumSum([isConnectedConversation]) |
| Wrap-up time (agent report) | sumSum([WrapupDuration]) |
myContactCenter shows times such as the average talk time as a duration as long as the control has no format string — see What myContactCenter prepares when running. How the templates calculate service level and reachability is described in Templates.
Filtering
The parameters already filter by skill, language, agent and
conversation type in the query. For further conditions, the report has a
filter of its own: select the report and, under Properties, open the
Filter String setting. In the Filter Editor window, you put together
the condition, for example [IsInternalConversation] = 0 to leave out internal
calls. This filter affects the rows loaded for the period.