---
sourceDocument: Xanadu 대화형 인터페이스
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/conversational-interfaces

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu 대화형 인터페이스

ft:clusterId :

    - convint

bundleId :

    - convint

workflow :

    - Platform


---

# 레거시 - 수식 재정의 예제

# 레거시 - 수식 재정의 예제 {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 4분

다음 수식 무효화 예제를 사용하여 고유한 수식 무효화를 만들 수 있습니다.
중요사항:  
대화형 분석 대시보드는 향후 사용 중단 예정입니다. 사용 중단될 때까지 지원되지만 더 이상 설치할 수 없습니다. GCC(Government Community Cloud)의 규정 준수 요구 사항을 충족하여 FedRAMP 인증을 받은 새로운 대화형 분석 대시보드 플랫폼 분석 를 사용할 수 있습니다. [경험의 플랫폼 분석 대화형 분석 대시보드](https://servicenow-prod.fluidtopics.net/Yu91u4oMPk2MocObJST43g "환경의 대화형 분석 대시보드 플랫폼 분석 는 대화형 데이터에 대한 인사이트를 제공하여 사용자와의 상호 작용(VA)을 개선하는 가상 에이전트 데 도움이 됩니다. 대시보드는 주제를 구체화하고 VA의 편향 비율을 개선하는 데 도움이 됩니다.") 문서를 참조하십시오.

사용 중단 프로세스에 대한 자세한 내용은 지식베이스의 [사용 중단 프로세스 \[KB0867184\]](https://support.servicenow.com/kb_view.do?sysparm_article=KB0867184) 문서를 Now Support 참조하십시오.

이 대시보드의 기존 사용자가 분석 데이터를 새 대시보드로 마이그레이션하려는 경우 다음을 참조하십시오. [에서 대화형 분석 대시보드로 데이터 마이그레이션 플랫폼 분석 경험 \[KB1651556\]](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1651556).

## 그룹 종료 상태 정의 {#formula-override-examples__section_i43_xfh_f4b}

대화의 종료 상태는 대화가 종료되는 방식을 지정합니다. 예를 들어 사용자가 응답하지 않거나 사용자가 채팅 창을 닫는 것으로 끝날 수 있습니다. 종료 상태에는 12가지 기본 정의가 있습니다. 대화 종료 상태에 대한 자세한 내용은 다음 문서를 참조하십시오 [가상 에이전트 상호작용 기록](https://servicenow-prod.fluidtopics.net/14GC0hGxS3vuVi5no2lnbw "대화가 가상 에이전트 발생할 때마다 상호작용 기록은 상호작용 [interaction] 테이블에서 전체 대화를 캡처합니다. 이 기록에는 대화에 사용된 모든 주제 요소뿐만 아니라 라이브 에이전트 전송도 포함됩니다."). 다음 스크립트는 다음과 같이 그룹화합니다.

* VA가 채팅 세션을 종결했습니다.
  * 시스템 종결 VA - 사용자 응답 없음
  * 시스템 종결 VA - 주제 완료
  * 시스템 종결 VA - AI 검색으로 남음
  * 시스템 종결 VA - 자동 종결됨
  * 시스템 종결 VA - 사용자 참여 안 함
  {#formula-override-examples__ul_nr5_4hw_d4b}
* 라이브 에이전트가 채팅 세션을 종결했습니다.
  * 시스템 종결 LA - 사용자 응답 없음
  * 시스템 종결 LA - 채팅 완료
  * 에이전트 종결 LA - 클릭 종료/X
  * 시스템 종결 LA - 에이전트 참여 전
  {#formula-override-examples__ul_dzn_qhw_d4b}
* 사용자가 채팅 세션을 종결했습니다.
  * 사용자 종결 LA - 클릭 종료/X
  * 사용자 종결 VA - 클릭 종료/X
  * 사용자 종결 LA - 에이전트 참여 전
  {#formula-override-examples__ul_cbr_rhw_d4b}
{#formula-override-examples__ul_wrc_chw_d4b}

이러한 12개 종료 상태 그룹을 만들려면 [수식 재정의 만들기](https://servicenow-prod.fluidtopics.net/0mud5_SNzXazrPY_iBN1_w "스크립트를 사용하여 대화형 분석 대시보드에서 분석을 작성하는 데 사용되는 기본 수식을 재정의합니다.") 지침을 따르고 다음 스크립트를 사용합니다.  

    (function calc(convGr) {
        // Returns 'System Closed VA', 'System Closed LA', 'User Closed' states.
        function getFinalEndState(state) {
            var arrayUtil = new global.ArrayUtil();
            VA_END_STATE = ['System Closed VA -- User No Response',
                'System Closed VA -- Topic Complete',
                'System Closed VA -- Left With AI Search',
                'System closed VA -- Auto Closed',
                'System Closed VA -- User Never Engaged'
            ];
            LA_END_STATE = ['System Closed LA -- User No Response',
                'System Closed LA -- Chat Complete',
                'Agent Closed LA -- Clicked End/X',
                'System Closed LA -- Before Agent Engagement'
            ];
            USER_CLOSED_END_STATE = ['User Closed LA -- Clicked End/X',
                'User Closed VA -- Clicked End/X',
                'User Closed LA - Before Agent Engagement'
            ];
            if (state) {
                if (arrayUtil.contains(VA_END_STATE, state))
                    return 'System Closed VA';

                if (arrayUtil.contains(LA_END_STATE, state))
                    return 'System Closed LA';

                if (arrayUtil.contains(USER_CLOSED_END_STATE, state))
                    return 'User Closed';
            }
            return state;
        }

        var conversationId = convGr.getValue('sys_id');
        var interactionGr = new GlideRecord('interaction');
        interactionGr.addQuery('channel_metadata_document', conversationId);
        interactionGr.addQuery('channel_metadata_table', 'sys_cs_conversation');
        interactionGr.query();
        if (interactionGr.next()) {
            var state = interactionGr.getValue('state');
            var reason = interactionGr.getValue('state_reason');
            var isVAChat = interactionGr.getValue('virtual_agent');
            var isLAChat = interactionGr.getValue('agent_chat');
            var endState = new CAUtil().getEndState(state, reason, isVAChat, isLAChat);
            return getFinalEndState(endState);
        }
    })(convGr);


