다음을 통해 공유


Customer Service용 옴니채널의 실시간 분석 보고서를 위한 데이터 모델 매핑

이 문서에서는 논리를 구축하고 고유한 메트릭을 만드는 데 사용할 수 있는 실시간 메트릭에 대한 DAX(Data Analysis Expressions) 논리에 대해 설명합니다. 추가 정보: DAX 함수 참조

실시간 메트릭에 대한 자세한 내용은 Customer Service용 옴니채널 메트릭 사용을 참조하세요

FactConversation

  • 중단된 대화
    SUMX ( 
        FactConversation, 
        IF ( 
            FactConversation[IsAbandoned] 
                && FactConversation[StatusCode] == 4 
                && NOT FactConversation[DirectionCode], 
            1, 
            0 
        ) 
    ) 
  • 중단 비율
DIVIDE ( 
    SUMX ( 
        FactConversation, 
        IF ( 
            FactConversation[IsAbandoned] 
                && NOT FactConversation[DirectionCode], 
            1, 
            0 
        ) 
    ), 
    SUMX ( 
        FactConversation, 
        IF ( NOT FactConversation[DirectionCode], 1, BLANK () ) 
    ), 
    BLANK () 
) 
  • 에이전트 수락을 기다리는 활성 대화
SUMX ( 
        FactConversation, 
        IF ( 
            FactConversation[statuscode] = 2 
                && FactConversation[StatusReason] == "Agent assigned, awaiting acceptance", 
            1, 
            0 
        ) 
    ) 
  • 에이전트가 수락한 활성 대화
SUMX ( 
        FactConversation, 
        IF ( 
            FactConversation[statuscode] = 2 
                && FactConversation[StatusReason] == "In conversation", 
            1, 
            0 
        ) 
    ) 
  • 평균 대화 첫 대기 시간(초)
    AVERAGEX(FactConversation, IF(NOT 
FactConversation[DirectionCode], BLANK(),
FactConversation[ConversationFirstWaitTimeInSeconds] 
))

  • 평균 대화 보류 시간(초): AVERAGE(FactConversation[ConversationHoldTimeInSeconds])
  • 평균 대화 말하기 시간(초): AVERAGE(FactConversation[ConversationTalkTimeInSeconds])
  • 평균 대화 시간(초): AVERAGE ( FactConversation[ConversationTimeInSeconds] )
  • 평균 대화 마무리 시간: AVERAGE(FactConversation[ConversationWrapUpTimeInSeconds])
  • 평균 처리 시간(초): AVERAGE(FactConversation[ConversationHandleTimeInSeconds])
  • 평균 응답 시간(초)
AVERAGEX ( 
    FactConversation, 
    IF ( 
        FactConversation[IsAgentAccepted] 
            && NOT FactConversation[DirectionCode], 
        FactConversation[ConversationSpeedToAnswerInSeconds], 
        BLANK () 
    ) 
) 
  • 종료된 대화: SUMX ( FactConversation, IF ( FactConversation[StatusCode] == 4, 1, 0 ) )
  • 대화 첫 대기 시간(초)
SUMX ( 
    FactConversation, 
    IF ( 
        NOT FactConversation[DirectionCode], 
        FactConversation[ConversationFirstWaitTimeInSeconds], 
        BLANK () 
    ) 
) 
  • 대화 처리 시간(초): SUM(FactConversation[ConversationHandleTimeInSeconds]
  • 큐의 대화
Conversations in queue =  
    SUMX ( 
        FactConversation, 
        IF ( 
            NOT FactConversation[DirectionCode] 
                && ( FactConversation[StatusCode] == 1 
                || ( FactConversation[StatusCode] == 2 
                && FactConversation[StatusReason] == "Agent assigned, awaiting acceptance" ) ), 
            1, 
            0 
        ) 
    )
  • 수신 대화
SUMX ( FactConversation, IF ( NOT 
FactConversation[DirectionCode], 1, 0 ) )
  • 최장 대기 시간(초)
AXX(FactConversation, IF(NOT 
FactConversation[DirectionCode], 
FactConversation[CurrentWaitTimeInSeconds], BLANK())) 
  • 진행 중인 대화
SUMX ( FactConversation, IF (
 FactConversation[IsOngoing], 1, 0 ) ) 
  • 열린 대화
SUMX ( FactConversation, IF (
 FactConversation[statuscode] == 1, 1, 0 ) )
  • 서비스 수준(10초)
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 () 
) 
  • 총 대화: COUNTROWS(FactConversation)
  • 대기 중 대화
SUMX ( FactConversation, IF ( 
FactConversation[statuscode] == 3, 1, 0 ) )
  • 마무리 대화
 SUMX ( FactConversation, IF ( 
FactConversation[statuscode] == 5, 1, 0 ) )

FactSession

  • 활성 세션: SUMX(FactSession, IF(FactSession[SessionStateCode] = 192350001, 1, 0))

  • 평균 세션 처리 시간(초): AVERAGE(FactSession[AgentHandlingTimeInSeconds])

  • 닫힌 세션: SUMX(FactSession, IF(FactSession[SessionStateCode] = 192350002, 1, 0))

  • 참여한 세션: SUMX(FactSession, IF(ISBLANK(FactSession[AgentAcceptedOn]), 0, 1))

  • 거부한 세션: SUMX(FactSession, IF(FactSession[SessionClosureReasonCode] == 192350001, 1, 0))

  • 세션 처리 시간(초): SUM(FactSession[AgentHandlingTimeInSeconds])

  • 세션 거부 비율

DIVIDE ( 

    SUMX ( 

        FactSession, 

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

    ), 

    SUMX ( 

        FactSession, 

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

    ), 

    BLANK () 

) 
  • 세션 수락 시간(초): SUM(FactSession[TimeToAcceptInSeconds])
  • 세션 거부 시간(초): SUM(FactSession[TimeToRejectInSeconds])
  • 세션 시간 초과 비율
DIVIDE ( 

    SUMX ( 

        FactSession, 

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

    ), 

    SUMX ( 

        FactSession, 

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

    ), 

    BLANK () 

) 
  • 세션 전송 비율
DIVIDE ( 

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

    SUMX ( 

        FactSession, 

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

    ), 

    BLANK () 

) 
  • 세션 대기 시간(초): SUM(FactSession[SessionWaitTimeInSeconds])
  • 시간 초과 세션
SUMX(FactSession, IF(FactSession[SessionStateCode] = 192350002 && FactSession[SessionClosureReasonCode] = 192350002, 1, 0))
  • 총 세션: COUNTROWS()
  • 전송된 세션: SUMX ( FactSession, IF ( FactSession[IsTransferredOut], 1, 0 ) )

FactSessionParticipant

  • 세션 참가자 수: COUNTROWS(FactSessionParticipant)

FactAgentStatusHistory

  • 상태 기간(분)
CALCULATE ( 

    SUM ( FactAgentStatusHistory[DuringInSeconds] ) / 60.00, 

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

) 

FactAgentCapacityProfile

  • 할당된 작업수용량 프로필 수
SUMX ( 

        FactAgentCapacityProfile, 

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

    ) 
  • 사용 가능한 생산 능력
SUMX ( 

        FactAgentCapacityProfile, 

        IF ( 

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

            FactAgentCapacityProfile[AvailableProfileUnits], 

            0 

        ) 

    )
  • 총 작업수용량: SUM ( FactAgentCapacityProfile[DefaultMaxProfileUnits] )
  • 사용 중인 총 작업 항목 작업수용량: SUM ( FactAgentCapacityProfile[OccupiedProfileUnits] )

FactAgentCapacityUnit

  • 로그인한 에이전트
SUMX ( 

        FactAgentCapacityUnit, 

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

    ) 
  • 총 에이전트: COUNTROWS ( FactAgentCapacityUnit )
  • 총 작업수용량: SUM ( FactAgentCapacityUnit[DefaultMaxCapacityUnits] )
  • 사용 가능 단위
SUMX ( 

        FactAgentCapacityUnit, 

        IF ( 

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

            FactAgentCapacityUnit[AvailableCapacityUntis], 

            0 

        ) 

    )
  • 사용 중인 단위: SUM ( FactAgentCapacityUnit[OccupiedCapacityUnits] )

FactConversationMessageBlock

  • 에이전트 응답 서비스 수준(60초)
DIVIDE ( 

    SUMX ( 

        FactConversationMessageBlock, 

        IF ( 

            FactConversationMessageBlock[ReponseTimeInSecondsAdjustedForOperationHour] <= 60, 

            1, 

            0 

        ) 

    ), 

    COUNTROWS ( FactConversationMessageBlock ), 

    BLANK () 

)
  • 평균 에이전트 응답 시간(초): AVERAGE( FactConversationMessageBlock[AgentReponseTimeInSecondsAdjustedForOperationHour])

  • 평균 첫 응답 시간(초)

AVERAGEX ( 

    FactConversationMessageBlock, 

    IF ( 

        FactConversationMessageBlock[IsFirstResponseTime], 

        FactConversationMessageBlock[ReponseTimeInSecondsAdjustedForOperationHour], 

        BLANK () 

    ) 

) 
  • 첫 응답 시간
DIVIDE ( 

    SUMX ( 

        FactConversationMessageBlock, 

        IF ( 

            FactConversationMessageBlock[ReponseTimeInSecondsAdjustedForOperationHour] <= 60 

                && FactConversationMessageBlock[IsFirstResponseTime], 

            1, 

            BLANK () 

        ) 

    ), 

    SUMX ( 

        FactConversationMessageBlock, 

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

    ), 

    BLANK () 

)

참고 항목

시각적 디스플레이 사용자 지정
Customer Service의 과거 분석 보고서에 대한 데이터 모델 및 보고서 매핑
데이터 모델 사용자 지정 개요
과거 및 실시간 분석 보고서의 데이터 모델 사용자 지정