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의 과거 분석 보고서에 대한 데이터 모델 및 보고서 매핑
데이터 모델 사용자 지정 개요
과거 및 실시간 분석 보고서의 데이터 모델 사용자 지정