---
sourceDocument: Yokohama 対話型インターフェース
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/yokohama/conversational-interfaces

 Release :

    - yokohama

ft:locale :

    - ja-JP

ft:publication_title :

    - Yokohama 対話型インターフェース

ft:clusterId :

    - convint

bundleId :

    - convint

workflow :

    - Platform


---

# レガシー - 計算式の上書きの例

# レガシー - 計算式の上書きの例 {#ariaid-title1}

* リリースバージョン: Yokohama
* 
* 更新日 2025年01月30日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：5分

次の計算式の上書きの例を使用して、独自の計算式の上書きを作成します。
重要:  
対話型アナリティクスダッシュボードは、将来の廃止に向けて準備中です。廃止されるまではサポートされますが、インストールできなくなります。Government Community Cloud (GCC) のコンプライアンス要件を満たし、FedRAMP 認定を受けた、プラットフォームアナリティクスエクスペリエンスの新しい対話型アナリティクスダッシュボードが利用可能になりました。「[プラットフォームアナリティクスエクスペリエンスの対話型アナリティクスダッシュボード](https://servicenow-prod.fluidtopics.net/ZzWjeXv4vGLytWdfYe4siQ "プラットフォームアナリティクスエクスペリエンスの対話型アナリティクスダッシュボードは、会話データに関するインサイトを提供することで、ユーザーとの仮想エージェント (VA) インタラクションを改善するのに役立ちます。ダッシュボードは、トピックを絞り込み、VA の回避率を向上させるのに役立ちます。")」を参照してください。

廃止プロセスの詳細については、Now Support ナレッジベースの「[Deprecation Process (廃止プロセス) \[KB0867184\]](https://support.servicenow.com/kb_view.do?sysparm_article=KB0867184)」の記事を参照してください。

このダッシュボードの既存ユーザーであり、アナリティクスデータを新しいダッシュボードに移行する場合は、次を参照してください。 [の対話型アナリティクスダッシュボードへのデータの移行 プラットフォームアナリティクス エクスペリエンス \[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/P5Xqji70SlUrCvIzi~7FSg "仮想エージェント の会話が発生するたびに、インタラクションレコードは、インタラクション [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/t9Rd2eUNyjVjgYbUeqfJHQ "スクリプトを使用して、会話型アナリティクスダッシュボードでの分析の作成に使用されるデフォルトの計算式を上書きします。")」の説明に従い、次のスクリプトを使用します。  

    (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);


