Condividi tramite


Mapping del modello di dati per i report di analisi in tempo reale in Multicanale per Customer Service

Questo articolo descrive la logica DAX (Data Analysis Expressions) per le metriche in tempo reale, che puoi usare per creare la tua logica e creare le tue metriche. Ulteriori informazioni: Riferimento funzione DAX

Per i dettagli sulle metriche in tempo reale, vai a Utilizza metriche Multicanale per Customer Service

FactConversation

  • Conversazioni abbandonate
    SUMX ( 
        FactConversation, 
        IF ( 
            FactConversation[IsAbandoned] 
                && FactConversation[StatusCode] == 4 
                && NOT FactConversation[DirectionCode], 
            1, 
            0 
        ) 
    ) 
  • Tasso di abbandono
DIVIDE ( 
    SUMX ( 
        FactConversation, 
        IF ( 
            FactConversation[IsAbandoned] 
                && NOT FactConversation[DirectionCode], 
            1, 
            0 
        ) 
    ), 
    SUMX ( 
        FactConversation, 
        IF ( NOT FactConversation[DirectionCode], 1, BLANK () ) 
    ), 
    BLANK () 
) 
  • Conversazioni attive in attesa di accettazione da parte dell'agente
SUMX ( 
        FactConversation, 
        IF ( 
            FactConversation[statuscode] = 2 
                && FactConversation[StatusReason] == "Agent assigned, awaiting acceptance", 
            1, 
            0 
        ) 
    ) 
  • Conversazioni attive con accettazione da parte dell'agente
SUMX ( 
        FactConversation, 
        IF ( 
            FactConversation[statuscode] = 2 
                && FactConversation[StatusReason] == "In conversation", 
            1, 
            0 
        ) 
    ) 
  • Tempo di attesa medio prima conversazione (sec)
    AVERAGEX(FactConversation, IF(NOT 
FactConversation[DirectionCode], BLANK(),
FactConversation[ConversationFirstWaitTimeInSeconds] 
))

  • Tempo di attesa medio della conversazione (sec): AVERAGE(FactConversation[ConversationHoldTimeInSeconds])
  • Tempo di colloquio medio della conversazione (sec): AVERAGE(FactConversation[ConversationTalkTimeInSeconds])
  • Tempo medio di conversazione (sec): AVERAGE ( FactConversation[ConversationTimeInSeconds] )
  • Tempo di riepilogo medio conversazioni: AVERAGE(FactConversation[ConversationWrapUpTimeInSeconds])
  • Tempo medio di gestione (sec): AVERAGE(FactConversation[ConversationHandleTimeInSeconds])
  • Tempo medio velocità di risposta (sec)
AVERAGEX ( 
    FactConversation, 
    IF ( 
        FactConversation[IsAgentAccepted] 
            && NOT FactConversation[DirectionCode], 
        FactConversation[ConversationSpeedToAnswerInSeconds], 
        BLANK () 
    ) 
) 
  • Conversazione chiusa: SUMX ( FactConversation, IF ( FactConversation[StatusCode] == 4, 1, 0 ) )
  • Tempo di attesa prima conversazione (sec)
SUMX ( 
    FactConversation, 
    IF ( 
        NOT FactConversation[DirectionCode], 
        FactConversation[ConversationFirstWaitTimeInSeconds], 
        BLANK () 
    ) 
) 
  • Tempo di gestione conversazioni (sec): SUM(FactConversation[ConversationHandleTimeInSeconds]
  • Conversazioni in coda
Conversations in queue =  
    SUMX ( 
        FactConversation, 
        IF ( 
            NOT FactConversation[DirectionCode] 
                && ( FactConversation[StatusCode] == 1 
                || ( FactConversation[StatusCode] == 2 
                && FactConversation[StatusReason] == "Agent assigned, awaiting acceptance" ) ), 
            1, 
            0 
        ) 
    )
  • Conversazione in arrivo
SUMX ( FactConversation, IF ( NOT 
FactConversation[DirectionCode], 1, 0 ) )
  • Tempo di attesa più lungo (sec)
AXX(FactConversation, IF(NOT 
FactConversation[DirectionCode], 
FactConversation[CurrentWaitTimeInSeconds], BLANK())) 
  • Conversazioni in corso
SUMX ( FactConversation, IF (
 FactConversation[IsOngoing], 1, 0 ) ) 
  • Conversazioni aperte
SUMX ( FactConversation, IF (
 FactConversation[statuscode] == 1, 1, 0 ) )
  • Livello di servizio (10 secondi)
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 () 
) 
  • Conversazioni totali: COUNTROWS(FactConversation)
  • Conversazioni in attesa
SUMX ( FactConversation, IF ( 
FactConversation[statuscode] == 3, 1, 0 ) )
  • Conversazioni concluse
 SUMX ( FactConversation, IF ( 
FactConversation[statuscode] == 5, 1, 0 ) )

FactSession

  • Sessioni attive: SUMX(FactSession, IF(FactSession[SessionStateCode] = 192350001, 1, 0))

  • Tempo medio di gestione sessione (sec): AVERAGE(FactSession[AgentHandlingTimeInSeconds])

  • Sessioni chiuse: SUMX(FactSession, IF(FactSession[SessionStateCode] = 192350002, 1, 0))

  • Sessioni con interazione: SUMX(FactSession, IF(ISBLANK(FactSession[AgentAcceptedOn]), 0, 1))

  • Sessioni rifiutate: SUMX(FactSession, IF(FactSession[SessionClosureReasonCode] == 192350001, 1, 0))

  • Tempo di gestione sessione (sec): SUM(FactSession[AgentHandlingTimeInSeconds])

  • Tasso di rifiuto della sessione

DIVIDE ( 

    SUMX ( 

        FactSession, 

        IF ( FactSession[SessionClosureReasonCode] == 192350001, 1, 0 ) 

    ), 

    SUMX ( 

        FactSession, 

        IF ( FactSession[SessionStateCode] == 192350002, 1, BLANK () ) 

    ), 

    BLANK () 

) 
  • Tempo di sessione da accettare (sec): SUM(FactSession[TimeToAcceptInSeconds])
  • Tempo di sessione da rifiutare (sec): SUM(FactSession[TimeToRejectInSeconds])
  • Tasso di timeout sessione
DIVIDE ( 

    SUMX ( 

        FactSession, 

        IF ( FactSession[SessionClosureReasonCode] == 192350002, 1, 0 ) 

    ), 

    SUMX ( 

        FactSession, 

        IF ( FactSession[SessionStateCode] == 192350002, 1, BLANK () ) 

    ), 

    BLANK () 

) 
  • Frequenza trasferimento sessione
DIVIDE ( 

    SUMX ( FactSession, IF ( FactSession[IsTransferredOut], 1, 0 ) ), 

    SUMX ( 

        FactSession, 

        IF ( ISBLANK ( FactSession[AgentAcceptedOn] ), BLANK (), 1 ) 

    ), 

    BLANK () 

) 
  • Tempo di attesa sessione (sec): SUM(FactSession[SessionWaitTimeInSeconds])
  • Sessioni in timeout
SUMX(FactSession, IF(FactSession[SessionStateCode] = 192350002 && FactSession[SessionClosureReasonCode] = 192350002, 1, 0))
  • Sessioni totali: COUNTROWS()
  • Sessioni trasferite: SUMX ( FactSession, IF ( FactSession[IsTransferredOut], 1, 0 ) )

FactSessionParticipant

  • Numero partecipanti sessione: COUNTROWS(FactSessionParticipant)

FactAgentStatusHistory

  • Durata dello stato (minuti)
CALCULATE ( 

    SUM ( FactAgentStatusHistory[DuringInSeconds] ) / 60.00, 

    USERELATIONSHIP ( FactAgentStatusHistory[PresenceId], DimAgentPresence[PresenceId] ) 

) 

FactAgentCapacityProfile

  • Conteggio del profilo di capacità assegnato
SUMX ( 

        FactAgentCapacityProfile, 

        IF ( NOT RELATED ( DimAgentPresence[BasePresenceStatusId] ) == 192360004, 1, 0 ) 

    ) 
  • Capacità disponibile
SUMX ( 

        FactAgentCapacityProfile, 

        IF ( 

            NOT RELATED ( DimAgentPresence[BasePresenceStatusId] ) == 192360004, 

            FactAgentCapacityProfile[AvailableProfileUnits], 

            0 

        ) 

    )
  • Capacità totale: SUM ( FactAgentCapacityProfile[DefaultMaxProfileUnits] )
  • Capacità totale dell'elemento di lavoro in uso: SUM ( FactAgentCapacityProfile[OccupiedProfileUnits] )

FactAgentCapacityUnit

  • Agenti che hanno effettuato l'accesso
SUMX ( 

        FactAgentCapacityUnit, 

        IF ( NOT RELATED ( DimAgentPresence[BasePresenceStatusId] ) == 192360004, 1, 0 ) 

    ) 
  • Agenti totali: COUNTROWS ( FactAgentCapacityUnit )
  • Capacità totale: SUM ( FactAgentCapacityUnit[DefaultMaxCapacityUnits] )
  • Unità disponibili
SUMX ( 

        FactAgentCapacityUnit, 

        IF ( 

            NOT RELATED ( DimAgentPresence[BasePresenceStatusId] ) == 192360004, 

            FactAgentCapacityUnit[AvailableCapacityUntis], 

            0 

        ) 

    )
  • Unità occupate: SUM ( FactAgentCapacityUnit[OccupiedCapacityUnits] )

FactConversationMessageBlock

  • Livello di servizio di risposta dell'agente (60 secondi)
DIVIDE ( 

    SUMX ( 

        FactConversationMessageBlock, 

        IF ( 

            FactConversationMessageBlock[ReponseTimeInSecondsAdjustedForOperationHour] <= 60, 

            1, 

            0 

        ) 

    ), 

    COUNTROWS ( FactConversationMessageBlock ), 

    BLANK () 

)
  • Tempo di risposta agente medio (sec): AVERAGE( FactConversationMessageBlock[AgentReponseTimeInSecondsAdjustedForOperationHour])

  • Tempo di prima risposta medio (sec)

AVERAGEX ( 

    FactConversationMessageBlock, 

    IF ( 

        FactConversationMessageBlock[IsFirstResponseTime], 

        FactConversationMessageBlock[ReponseTimeInSecondsAdjustedForOperationHour], 

        BLANK () 

    ) 

) 
  • Tempo prima risposta
DIVIDE ( 

    SUMX ( 

        FactConversationMessageBlock, 

        IF ( 

            FactConversationMessageBlock[ReponseTimeInSecondsAdjustedForOperationHour] <= 60 

                && FactConversationMessageBlock[IsFirstResponseTime], 

            1, 

            BLANK () 

        ) 

    ), 

    SUMX ( 

        FactConversationMessageBlock, 

        IF ( FactConversationMessageBlock[IsFirstResponseTime], 1, BLANK () ) 

    ), 

    BLANK () 

)

Vedere anche

Personalizzare la visualizzazione degli oggetti visivi
Modelli di dati e mappature dei report per i report di analisi cronologica in Customer Service
Panoramica della personalizzazione del modello di dati
Personalizzare i modelli di dati per i report di analisi cronologica e in tempo reale