インシデント・スレッドの一部をカスタム・レポートに含めるにはどうすればよいですか。
環境:
インシデント、アナリティクス
解決策:
インシデント・スレッド・データは一般のインシデント・テーブルとは別個のテーブルに保存されます。また、いくつかの異なるタイプのスレッドがあるため、カスタマ・エントリやカスタマ・プロキシなどの特定のスレッド・タイプのみを含むレポートを構成することができます。
重要: 一般的に、インシデント・スレッドを含むレポートは非常に速く大きくなるため、生成するのに時間がかかります。インシデント・スレッドを含むレポートを作成するとき、インシデント作成日の範囲を含む実行時フィルタを含める必要があります。これによって短い日付範囲でレポートをテストすることができ、レポートが速く生成されるようになります。
インシデント・スレッドを含むレポートを作成するとき、インシデント・テーブルをプライマリ・テーブルとして使用するようにデータ・セットを定義し、その後スレッド・テーブルをインシデント・テーブルに結合することが重要です。これを行うには、下のステップを使用します。
- アナリティクスから、レポート・エクスプローラを選択します
- リボンの「新規」ボタンをクリックし
- 追加するレポートの種類を指定します
(詳細については、基本的なカスタム・レポートの作成を参照してください)
- 「ホーム」タブから、「テーブル」ボタンをクリックします。
- ポップアップ・ウィンドウで、「テーブルの選択」をクリックします。
- 「すべてのテーブル」リストを展開し、「インシデント」を選択して「OK」をクリックします。インシデント・テーブルが左フレームに表示されます。
- インシデント・テーブルを右クリックし、「結合先」>「スレッド」>「incidents.i_id => threads.i_id」を選択します。インシデント・テーブルの下にスレッド・テーブルが表示されます。
- 「OK」をクリックします。「データ・セット」ウィンドウが閉じます。

データ・セットが適切に定義されたら、レポートのフィルタおよび出力列を定義します。
スレッドを特定の種類に制限するには、threads.entry_typeフィールドに基づいて、固定または実行時フィルタを含めます。
- 「ホーム」タブから、「フィルタの追加」をクリックします。
- フィルタ定義を次のように構成します。
式:threads.entry_type
演算子:等しい
値:顧客(ドロップダウンリストから目的のスレッドタイプを選択)
注記:値の選択オプションは、選択した演算子によって異なります。
すなわち、 'In List'では、複数のスレッドエントリタイプを選択できます。
- 「OK」をクリックします。

フィルタを配置すると、スレッドをレポートの出力列として追加できます。「スレッド」テーブルで、「Text (notes)」フィールドを出力列となるようにドラッグします。そのタイプのすべてのスレッドがレポートにリストされます。
最初のスレッド・エントリに関する報告
インシデントについての最初のスレッド・エントリを含めるには、最初にincidents.ref_noまたはincidents.i_idについてのフィルタを追加し、その後、次の列定義を使用します。
substr(min(concat(date_format(threads.entered, 'YYYYMMDDHH24MISS'), concat(threads.seq, to_char(threads.note)))),16)
これはニーズに合わせて変更することができます。たとえば、最新のスレッド・エントリについて報告する場合、min()関数をmax()関数に変更します。そうではなく、スレッド・テキスト以外の情報を返す場合、threads.noteリファレンスを目的のスレッド・フィールドに変更します。
次に例を示します。
各インシデントの最新のスレッド・エントリ:
substr(max(concat(date_format(threads.entered, 'YYYYMMDDHH24MISS'), concat(threads.seq, to_char(threads.note)))),16)
最初のスレッド・エントリのチャネルID:
substr(min(concat(date_format(threads.entered, 'YYYYMMDDHH24MISS'), concat(threads.seq, to_char(threads.chan_id)))),16)