Agent State Fact Metrics 0226
Agent State Fact Metrics 0226
AgentState.AGENTID,AgentState.AGENTSESSIONID,AgentState.STATEINDEX,AgentState.START
DATE,AgentState.AGENTSTATEID,
AgentState.AGENTSTATENAME,AgentState.SKILLID,AgentState.SKILLNAME,AgentState.MEDIAT
YPEID,
AgentState.MEDIATYPENAME,AgentState.FROMADDRESS,AgentState.TOADDRESS,AgentState.OUT
STATEID,AgentState.OUTSTATEDESCRIPTION,
AgentState.DURATION,AgentState.ISOUTBOUND,AgentState.ISNATURALCALLING,AgentState.ST
ATIONID,AgentState.STATIONNAME,
case when agentStateName='Dialer' then 1 else 0 end as AUTO_OUTBOUND_COUNT,
AVAILABLE_TIME_IN_SECONDS + INBOUND_CONTACT_TIME_IN_SECONDS +
OUTBOUND_CONTACT_TIME_IN_SECONDS + CONSULT_TIME_IN_SECONDS + ACWSeconds
AS WORKING_TIME_IN_SECONDS ,
case when AGENTSTATENAME='Available' then 1 else 0 end as AVAILABLE_COUNT,
case when AGENTSTATENAME='Available' then AgentState.DURATION else 0 end as
AVAILABLE_TIME_IN_SECONDS,
case when AGENTSTATENAME='InboundConsult' then 1 else 0 end as
INBOUND_CONSULT_COUNT,
case when AGENTSTATENAME='InboundConsult' then AgentState.DURATION else 0 end as
INBOUND_CONSULT_TIME_IN_SECONDS,
case when AGENTSTATENAME='InboundContact' then 1 else 0 end as
INBOUND_CONTACT_COUNT,
case when AGENTSTATENAME='InboundContact' then AgentState.DURATION else 0 end as
INBOUND_CONTACT_TIME_IN_SECONDS,
case when AGENTSTATENAME='LoggedIn' then 1 else 0 end as LOGGEDIN_COUNT,
case when AGENTSTATENAME='LoggedIn' then AgentState.DURATION else 0 end as
LOGGEDIN_TIME_IN_SECONDS,
case when AGENTSTATENAME='LoggedOut' then 1 else 0 end as LOGGEDOUT_COUNT,
case when AGENTSTATENAME='LoggedOut' then AgentState.DURATION else 0 end as
LOGGEDOUT_TIME_IN_SECONDS,
case when AGENTSTATENAME='OutboundConsult' then 1 else 0 end as
OUTBOUND_CONSULT_COUNT,
case when AGENTSTATENAME='OutboundConsult' then AgentState.DURATION else 0 end as
OUTBOUND_CONSULT_TIME_IN_SECONDS,
case when AGENTSTATENAME='OutboundContact' then 1 else 0 end as
OUTBOUND_CONTACT_COUNT,
case when AGENTSTATENAME='OutboundContact' then AgentState.DURATION else 0 end as
OUTBOUND_CONTACT_TIME_IN_SECONDS,
case when AGENTSTATENAME='Unavailable' then 1 else 0 end as UNAVAILABLE_COUNT,
case when AGENTSTATENAME='Unavailable' then AgentState.DURATION else 0 end as
UNAVAILABLE_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='CallbackPending' then 1 else 0 end as
CALLBACK_PENDING_COUNT,
case when OUTSTATEDESCRIPTION='CallbackPending' then AgentState.DURATION else 0 end
as CALLBACK_PENDING_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='ConsultPending' then 1 else 0 end as
CONSULT_PENDING_COUNT,
case when OUTSTATEDESCRIPTION='ConsultPending' then AgentState.DURATION else 0 end
as CONSULT_PENDING_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='DialerPending' then 1 else 0 end as
DIALER_PENDING_COUNT,
case when OUTSTATEDESCRIPTION='DialerPending' then AgentState.DURATION else 0 end
as DIALER_PENDING_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='HeldPartyAbandoned' then 1 else 0 end as
HELD_PARTY_ABANDONED_COUNT,
case when OUTSTATEDESCRIPTION='HeldPartyAbandoned' then AgentState.DURATION else 0
end as HELD_PARTY_ABANDONED_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='InboundPending' then 1 else 0 end as
INBOUND_PENDING_COUNT,
case when OUTSTATEDESCRIPTION='InboundPending' then AgentState.DURATION else 0 end
as INBOUND_PENDING_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='LogoffPending' then 1 else 0 end as
LOGOFF_PENDING_COUNT,
case when OUTSTATEDESCRIPTION='LogoffPending' then AgentState.DURATION else 0 end
as LOGOFF_PENDING_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='OutboundPending' then 1 else 0 end as
OUTBOUND_PENDING_COUNT,
case when OUTSTATEDESCRIPTION='OutboundPending' then AgentState.DURATION else 0 end
as OUTBOUND_PENDING_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='PreviewNotification' then 1 else 0 end as
PREVIEW_NOTIFICATION_COUNT,
case when OUTSTATEDESCRIPTION='PreviewNotification' then AgentState.DURATION else 0
end as PREVIEW_NOTIFICATION_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='PromisePending' then 1 else 0 end as
PROMISE_PENDING_COUNT,
case when OUTSTATEDESCRIPTION='PromisePending' then AgentState.DURATION else 0 end
as PROMISE_PENDING_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Refused' then 1 else 0 end as REFUSED_COUNT,
case when OUTSTATEDESCRIPTION='Refused' then AgentState.DURATION else 0 end as
REFUSED_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='TransferPending' then 1 else 0 end as
TRANSFER_PENDING_COUNT,
case when OUTSTATEDESCRIPTION='TransferPending' then AgentState.DURATION else 0 end
as TRANSFER_PENDING_TIME_IN_SECONDS,
case when AGENTSTATENAME='Unavailable' then 1 else 0 end as UNAVAILABLE_COUNT,
case when AGENTSTATENAME='Unavailable' then AgentState.DURATION else 0 end as
UNAVAILABLE_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Break' then 1 else 0 end as BREAK_COUNT,
case when OUTSTATEDESCRIPTION='Break' then AgentState.DURATION else 0 end as
BREAK_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Call Backs' then 1 else 0 end as CALL_BACKS_COUNT,
case when OUTSTATEDESCRIPTION='Call Backs' then AgentState.DURATION else 0 end as
CALL_BACKS_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Chat Desk' then 1 else 0 end as CHAT_DESK_COUNT,
case when OUTSTATEDESCRIPTION='Chat Desk' then AgentState.DURATION else 0 end as
CHAT_DESK_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Disposition' then 1 else 0 end as DISPOSITION_COUNT,
case when OUTSTATEDESCRIPTION='Disposition' then AgentState.DURATION else 0 end as
DISPOSITION_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='End of Shift' then 1 else 0 end as
END_OF_SHIFT_COUNT,
case when OUTSTATEDESCRIPTION='End of Shift' then AgentState.DURATION else 0 end as
END_OF_SHIFT_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Lunch' then 1 else 0 end as LUNCH_COUNT,
case when OUTSTATEDESCRIPTION='Lunch' then AgentState.DURATION else 0 end as
LUNCH_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Lunch_Break' then 1 else 0 end as LUNCH_BREAK_COUNT,
case when OUTSTATEDESCRIPTION='Lunch_Break' then AgentState.DURATION else 0 end as
LUNCH_BREAK_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Lunch_Break_Restroom' then 1 else 0 end as
LUNCH_BREAK_RESTROOM_COUNT,
case when OUTSTATEDESCRIPTION='Lunch_Break_Restroom' then AgentState.DURATION else
0 end as LUNCH_BREAK_RESTROOM_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Mail_Fax_Copier' then 1 else 0 end as
MAIL_FAX_COPIER_COUNT,
case when OUTSTATEDESCRIPTION='Mail_Fax_Copier' then AgentState.DURATION else 0 end
as MAIL_FAX_COPIER_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Meetings / Focus Time' then 1 else 0 end as
MEETINGS_FOCUS_TIME_COUNT,
case when OUTSTATEDESCRIPTION='Meetings / Focus Time' then AgentState.DURATION else
0 end as MEETINGS_FOCUS_TIME_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Meetings' then 1 else 0 end as MEETINGS_COUNT,
case when OUTSTATEDESCRIPTION='Meetings' then AgentState.DURATION else 0 end as
MEETINGS_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Personal' then 1 else 0 end as PERSONAL_COUNT,
case when OUTSTATEDESCRIPTION='Personal' then AgentState.DURATION else 0 end as
PERSONAL_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Priority Research' then 1 else 0 end as
PRIORITY_RESEARCH_COUNT,
case when OUTSTATEDESCRIPTION='Priority Research' then AgentState.DURATION else 0
end as PRIORITY_RESEARCH_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Processing' then 1 else 0 end as PROCESSING_COUNT,
case when OUTSTATEDESCRIPTION='Processing' then AgentState.DURATION else 0 end as
PROCESSING_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Processing_Admin' then 1 else 0 end as
PROCESSING_ADMIN_COUNT,
case when OUTSTATEDESCRIPTION='Processing_Admin' then AgentState.DURATION else 0
end as PROCESSING_ADMIN_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Project' then 1 else 0 end as PROJECT_COUNT,
case when OUTSTATEDESCRIPTION='Project' then AgentState.DURATION else 0 end as
PROJECT_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Project_Research' then 1 else 0 end as
PROJECT_RESEARCH_COUNT,
case when OUTSTATEDESCRIPTION='Project_Research' then AgentState.DURATION else 0
end as PROJECT_RESEARCH_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Restroom' then 1 else 0 end as RESTROOM_COUNT,
case when OUTSTATEDESCRIPTION='Restroom' then AgentState.DURATION else 0 end as
RESTROOM_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Supervision' then 1 else 0 end as SUPERVISION_COUNT,
case when OUTSTATEDESCRIPTION='Supervision' then AgentState.DURATION else 0 end as
SUPERVISION_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Technical Issue' then 1 else 0 end as
TECHNICAL_ISSUE_COUNT,
case when OUTSTATEDESCRIPTION='Technical Issue' then AgentState.DURATION else 0 end
as TECHNICAL_ISSUE_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Training' then 1 else 0 end as TRAINING_COUNT,
case when OUTSTATEDESCRIPTION='Training' then AgentState.DURATION else 0 end as
TRAINING_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Training_All' then 1 else 0 end as
TRAINING_ALL_COUNT,
case when OUTSTATEDESCRIPTION='Training_All' then AgentState.DURATION else 0 end as
TRAINING_ALL_TIME_IN_SECONDS,
case when OUTSTATEDESCRIPTION='Wrap Up' then 1 else 0 end as WRAP_UP_COUNT,
case when OUTSTATEDESCRIPTION='Wrap Up' then AgentState.DURATION else 0 end as
WRAP_UP_TIME_IN_SECONDS,
case when AGENTSTATENAME in ('Unavailable') then 'NOT READY'
when AGENTSTATENAME in ('LoggedIn', 'LoggedOut') then 'SYSTEM TIME'
when AGENTSTATENAME in ('Available', 'InboundConsult', 'InboundContact',
'OutboundConsult', 'OutboundContact') then 'READY'
else 'UNKNOWN' end as EVENT_STATE,
case when agentStateName in ('LoggedIn', 'LoggedOut') then 'SYSTEM TIME'
when agentStateName in ('InboundConsult', 'InboundContact', 'OutboundConsult',
'OutboundContact') then 'READY ENGAGED'
when agentStateName in ('Available') then 'READY AVAILABLE'
when agentStateName in ('Unavailable') then
(case
when outStateDescription IS NULL then 'DEFAULT'
when outStateDescription in ('Call Backs', 'HeldPartyAbandoned') then 'NOT READY
ENGAGED'
when outStateDescription in ('CallbackPending','ConsultPending', 'InboundPending',
'OutboundPending', 'PromisePending', 'TransferPending') then 'ROUTING TIME'
when outStateDescription in ('Break', 'Disposition', 'End of Shift', 'Lunch',
'Lunch_Break_Restroom', 'Mail_Fax_Copier', 'Meetings', 'Priority Research',
'Processing', 'Project', 'Refused', 'Restroom', 'Technical Issue', 'Training',
'Wrap Up','Supervision','Chat Desk','Meetings / Focus
Time','Personal','Training_All')
then 'UNAVAILABLE'
else 'UNKNOWN' end ) end as EVENT_DETAIL_STATE,
case when EVENT_STATE='NOT READY' then 1 else 0 end as NOT_READY_COUNT,