Mapeamento de modelo de dados para relatórios de análise em tempo real no Omnicanal para Customer Service
Este artigo descreve a lógica Data Analysis Expressions (DAX) para métricas em tempo real, que podem ser usadas para criar sua lógica e criar suas próprias métricas. Mais informações: Referência de função DAX
Para obter detalhes sobre métricas em tempo real, acesse Usar métricas do Omnichannel para Customer Service
FactConversation
- Conversas abandonadas
SUMX (
FactConversation,
IF (
FactConversation[IsAbandoned]
&& FactConversation[StatusCode] == 4
&& NOT FactConversation[DirectionCode],
1,
0
)
)
- Taxa de abandono
DIVIDE (
SUMX (
FactConversation,
IF (
FactConversation[IsAbandoned]
&& NOT FactConversation[DirectionCode],
1,
0
)
),
SUMX (
FactConversation,
IF ( NOT FactConversation[DirectionCode], 1, BLANK () )
),
BLANK ()
)
- Conversas ativas aguardando aceitação do agente
SUMX (
FactConversation,
IF (
FactConversation[statuscode] = 2
&& FactConversation[StatusReason] == "Agent assigned, awaiting acceptance",
1,
0
)
)
- Conversas ativas com aceitação do agente
SUMX (
FactConversation,
IF (
FactConversation[statuscode] = 2
&& FactConversation[StatusReason] == "In conversation",
1,
0
)
)
- Tempo médio da primeira espera da conversa (s)
AVERAGEX(FactConversation, IF(NOT
FactConversation[DirectionCode], BLANK(),
FactConversation[ConversationFirstWaitTimeInSeconds]
))
- Tempo médio de espera da conversa (s):
AVERAGE(FactConversation[ConversationHoldTimeInSeconds])
- Tempo médio de interação da conversa (s):
AVERAGE(FactConversation[ConversationTalkTimeInSeconds])
- Tempo médio da conversa (s):
AVERAGE ( FactConversation[ConversationTimeInSeconds] )
- Tempo médio de conclusão da conversa:
AVERAGE(FactConversation[ConversationWrapUpTimeInSeconds])
- Tempo médio de tratamento (s):
AVERAGE(FactConversation[ConversationHandleTimeInSeconds])
- Velocidade média de resposta (s)
AVERAGEX (
FactConversation,
IF (
FactConversation[IsAgentAccepted]
&& NOT FactConversation[DirectionCode],
FactConversation[ConversationSpeedToAnswerInSeconds],
BLANK ()
)
)
- Conversa encerrada:
SUMX ( FactConversation, IF ( FactConversation[StatusCode] == 4, 1, 0 ) )
- Tempo da primeira espera da conversa (s)
SUMX (
FactConversation,
IF (
NOT FactConversation[DirectionCode],
FactConversation[ConversationFirstWaitTimeInSeconds],
BLANK ()
)
)
- Tempo de tratamento de conversa (s):
SUM(FactConversation[ConversationHandleTimeInSeconds]
- Conversas na fila
Conversations in queue =
SUMX (
FactConversation,
IF (
NOT FactConversation[DirectionCode]
&& ( FactConversation[StatusCode] == 1
|| ( FactConversation[StatusCode] == 2
&& FactConversation[StatusReason] == "Agent assigned, awaiting acceptance" ) ),
1,
0
)
)
- Conversa de entrada
SUMX ( FactConversation, IF ( NOT
FactConversation[DirectionCode], 1, 0 ) )
- Tempo de espera mais longo (s)
AXX(FactConversation, IF(NOT
FactConversation[DirectionCode],
FactConversation[CurrentWaitTimeInSeconds], BLANK()))
- Conversas em andamento
SUMX ( FactConversation, IF (
FactConversation[IsOngoing], 1, 0 ) )
- Conversas abertas
SUMX ( FactConversation, IF (
FactConversation[statuscode] == 1, 1, 0 ) )
- Nível de serviço (10 segundos)
DIVIDE (
SUMX (
FactConversation,
IF (
FactConversation[ConversationFirstWaitTimeInSeconds] <= 10
&& FactConversation[IsAgentAccepted]
&& NOT FactConversation[DirectionCode],
1,
0
)
),
SUMX (
FactConversation,
IF (
FactConversation[IsAgentAccepted]
&& NOT FactConversation[DirectionCode],
1,
0
)
),
BLANK ()
)
- Total de conversas:
COUNTROWS(FactConversation)
- Conversas em espera
SUMX ( FactConversation, IF (
FactConversation[statuscode] == 3, 1, 0 ) )
- Conversas concluídas
SUMX ( FactConversation, IF (
FactConversation[statuscode] == 5, 1, 0 ) )
FactSession
Sessões ativas:
SUMX(FactSession, IF(FactSession[SessionStateCode] = 192350001, 1, 0))
Tempo médio de tratamento de sessão (s):
AVERAGE(FactSession[AgentHandlingTimeInSeconds])
Sessões encerradas:
SUMX(FactSession, IF(FactSession[SessionStateCode] = 192350002, 1, 0))
Sessões com participação:
SUMX(FactSession, IF(ISBLANK(FactSession[AgentAcceptedOn]), 0, 1))
Sessões rejeitadas:
SUMX(FactSession, IF(FactSession[SessionClosureReasonCode] == 192350001, 1, 0))
Tempo médio de tratamento da sessão:
SUM(FactSession[AgentHandlingTimeInSeconds])
Taxa de rejeição da sessão
DIVIDE (
SUMX (
FactSession,
IF ( FactSession[SessionClosureReasonCode] == 192350001, 1, 0 )
),
SUMX (
FactSession,
IF ( FactSession[SessionStateCode] == 192350002, 1, BLANK () )
),
BLANK ()
)
- Tempo de sessão para aceitar (s):
SUM(FactSession[TimeToAcceptInSeconds])
- Tempo de sessão para rejeitar (s):
SUM(FactSession[TimeToRejectInSeconds])
- Taxa de tempo limite da sessão
DIVIDE (
SUMX (
FactSession,
IF ( FactSession[SessionClosureReasonCode] == 192350002, 1, 0 )
),
SUMX (
FactSession,
IF ( FactSession[SessionStateCode] == 192350002, 1, BLANK () )
),
BLANK ()
)
- Taxa de transferência de sessão
DIVIDE (
SUMX ( FactSession, IF ( FactSession[IsTransferredOut], 1, 0 ) ),
SUMX (
FactSession,
IF ( ISBLANK ( FactSession[AgentAcceptedOn] ), BLANK (), 1 )
),
BLANK ()
)
- Tempo médio da sessão (s):
SUM(FactSession[SessionWaitTimeInSeconds])
- Tempo limite das sessões
SUMX(FactSession, IF(FactSession[SessionStateCode] = 192350002 && FactSession[SessionClosureReasonCode] = 192350002, 1, 0))
- Total de sessões:
COUNTROWS()
- Sessões transferidas:
SUMX ( FactSession, IF ( FactSession[IsTransferredOut], 1, 0 ) )
FactSessionParticipant
- Contagem de participantes da sessão:
COUNTROWS(FactSessionParticipant)
FactAgentStatusHistory
- Duração do status (minutos)
CALCULATE (
SUM ( FactAgentStatusHistory[DuringInSeconds] ) / 60.00,
USERELATIONSHIP ( FactAgentStatusHistory[PresenceId], DimAgentPresence[PresenceId] )
)
FactAgentCapacityProfile
- Contagem de perfil de capacidade atribuído
SUMX (
FactAgentCapacityProfile,
IF ( NOT RELATED ( DimAgentPresence[BasePresenceStatusId] ) == 192360004, 1, 0 )
)
- Capacidade disponível
SUMX (
FactAgentCapacityProfile,
IF (
NOT RELATED ( DimAgentPresence[BasePresenceStatusId] ) == 192360004,
FactAgentCapacityProfile[AvailableProfileUnits],
0
)
)
- Capacidade total:
SUM ( FactAgentCapacityProfile[DefaultMaxProfileUnits] )
- Capacidade total de item de trabalho em uso:
SUM ( FactAgentCapacityProfile[OccupiedProfileUnits] )
FactAgentCapacityUnit
- Agentes conectados
SUMX (
FactAgentCapacityUnit,
IF ( NOT RELATED ( DimAgentPresence[BasePresenceStatusId] ) == 192360004, 1, 0 )
)
- Total de agentes:
COUNTROWS ( FactAgentCapacityUnit )
- Capacidade total:
SUM ( FactAgentCapacityUnit[DefaultMaxCapacityUnits] )
- Unidades disponíveis
SUMX (
FactAgentCapacityUnit,
IF (
NOT RELATED ( DimAgentPresence[BasePresenceStatusId] ) == 192360004,
FactAgentCapacityUnit[AvailableCapacityUntis],
0
)
)
- Unidades ocupadas:
SUM ( FactAgentCapacityUnit[OccupiedCapacityUnits] )
FactConversationMessageBlock
- Nível de serviço de resposta do agente (60 segundos)
DIVIDE (
SUMX (
FactConversationMessageBlock,
IF (
FactConversationMessageBlock[ReponseTimeInSecondsAdjustedForOperationHour] <= 60,
1,
0
)
),
COUNTROWS ( FactConversationMessageBlock ),
BLANK ()
)
Tempo médio de resposta do agente (s):
AVERAGE( FactConversationMessageBlock[AgentReponseTimeInSecondsAdjustedForOperationHour])
Tempo médio de primeira resposta (s)
AVERAGEX (
FactConversationMessageBlock,
IF (
FactConversationMessageBlock[IsFirstResponseTime],
FactConversationMessageBlock[ReponseTimeInSecondsAdjustedForOperationHour],
BLANK ()
)
)
- Tempo da primeira resposta
DIVIDE (
SUMX (
FactConversationMessageBlock,
IF (
FactConversationMessageBlock[ReponseTimeInSecondsAdjustedForOperationHour] <= 60
&& FactConversationMessageBlock[IsFirstResponseTime],
1,
BLANK ()
)
),
SUMX (
FactConversationMessageBlock,
IF ( FactConversationMessageBlock[IsFirstResponseTime], 1, BLANK () )
),
BLANK ()
)
Consulte Também
Personalizar a exibição visual
Modelos de dados e mapeamentos de relatórios de análise histórica no Customer Service
Visão geral da personalização do modelo de dados
Personalizar modelos de dados de relatórios de análise histórica e em tempo real