# NQLによるキャンペーンの結果の精査

{% hint style="warning" %}
キャンペーンを組織内で計画、承認取得、テスト、開始するためのガイドラインは、[キャンペーンプログラムの開始](https://docs.nexthink.com/platform/ja/user-guide/campaigns/managing-campaigns/launching-campaign-programs)ドキュメントを参照してください。
{% endhint %}

キャンペーンを公開すると、対象となった従業員がキャンペーン質問に回答し始めます。 従業員がキャンペーンにどのように関わり、質問に答えたかを把握するために、Nexthink Query Language (NQL)調査を作成します。

## キャンペーンの結果をインベスティゲーションで表示 <a href="#scrutinizingtheresultsofacampaignwithnql-viewingtheresultsofacampaignininvestigations" id="scrutinizingtheresultsofacampaignwithnql-viewingtheresultsofacampaignininvestigations"></a>

{% hint style="info" %}
リモートアクションによってトリガーされたキャンペーンの結果は、リモートアクション画面の実行中にのみローカルに利用可能です。 したがって、リモートアクションキャンペーンには、キャンペーン詳細ページに利用可能な応答データがありません。
{% endhint %}

* メインメニューから**キャンペーン**を選択します。
* ナビゲーションパネルにリストされているキャンペーンを選択して、詳細を表示します。 ナビゲーションパネルには、公開済みおよび終了済みのキャンペーンが表示されます。
* ナビゲーションパネルから**キャンペーン概要**を選択すると、すべての公開済みおよび終了済みのキャンペーンとその統計を表示できます。

キャンペーンダッシュボードやキャンペーン結果のエクスポートには、ユーザー名は含まれていません。 これにより、インベスティゲーション権限のないユーザー（このページにのみアクセスできるステークホルダーなど）から回答者の身元が隠されます。

インベスティゲーション権限を持つユーザーは、インベスティゲーションでキャンペーン結果にアクセスでき、ユーザーやデバイスの特性と共に回答を分析してより深く分析できます。

詳細については、[monitoring-specific-campaign-responses](https://docs.nexthink.com/platform/ja/user-guide/campaigns/working-with-campaigns/monitoring-specific-campaign-responses "mention")ドキュメントを参照してください。

キャンペーン詳細ページで、ページの右上にあるアクションメニューをクリックし、**インベスティゲート**を選択して、キャンペーン応答の結果を生成するための事前作成済みクエリが含まれたインベスティゲーションページを開きます。

* ユーザー情報。
* 応答状況とその詳細。
* 各質問への回答と、該当する場合は自由回答のコメント。
* キャンペーンがパラメトリックな場合、パラメータの値。

インベスティゲーションページでは、NQLクエリを修正して、列を調整したり、結果を要件に応じてフィルターすることができます。

## NQLを使用したキャンペーン情報と結果のクエリ <a href="#scrutinizingtheresultsofacampaignwithnql-queryingcampaigninformationandresultswithnql" id="scrutinizingtheresultsofacampaignwithnql-queryingcampaigninformationandresultswithnql"></a>

NQLを使用して、キャンペーンとそれらの応答に関連する重要な情報にアクセスし、次のテーブルをクエリします。

* `campaign.campaigns` は、公開済みまたは終了した状態のすべてのキャンペーンに関する基本情報を含んでいます。
* `campaign.responses` は、すべてのキャンペーン応答、提出済みまたは予想される応答の詳細を含んでいます。 キャンペーン全体の統計を収集し、特定のキャンペーンデータ（質問への回答やパラメータ値など）を調査する必要がない場合に使用します。
* 各キャンペーン（キャンペーンが公開された後）について、特定のキャンペーンの応答を確認するための動的テーブル `campaign.nql_id_of_the_campaign.responses` が利用可能です。例えば、`campaign.#my_campaign.responses` または `campaign.dex_score_campaign.responses` です。 キャンペーンの動的データモデルテーブルには、`campaign.responses` に含まれるフィールドに加えて、各質問への回答や、キャンペーンがパラメトリックである場合の各パラメータの値が含まれています。

[NQLデータモデル](https://docs.nexthink.com/platform/ja/understanding-key-data-platform-concepts/nql-data-model)ページで、フィールドの完全なリストを参照してください。

同じキャンペーンがユーザーに何度もターゲットされた場合、それぞれの発生は異なる応答に対応します。 ユーザーの最後の応答のみをキャンペーンにアクセスする必要がある場合は、`last` NQLオペレーターを活用できます。 詳細については、[NQLシンタックス](https://docs.nexthink.com/platform/ja/understanding-key-data-platform-concepts/nexthink-query-language-nql/nql-operators/nql-syntax-operators)および[クエリエグザンプル](https://docs.nexthink.com/platform/ja/user-guide/campaigns/campaigns-nql-capabilities/campaigns-nql-examples)を参照してください。

## 動的データモデルを使用して、回答とパラメータを確認 <a href="#scrutinizingtheresultsofacampaignwithnql-inspectinganswersandparametersusingthedynamicdatamodel" id="scrutinizingtheresultsofacampaignwithnql-inspectinganswersandparametersusingthedynamicdatamodel"></a>

動的データモデルは、従業員の回答に関する詳細を集めるための質問ごとのフィールドを提供します。 NQLで使用される質問識別子は、キャンペーンで定義された質問IDに対応しています。 キャンペーンクラシックを使用する場合、質問識別子は質問の順序に基づいています。例：`#1`や`#2`。

利用可能なフィールドは質問の種類に対応しています：

* 1つの回答質問の場合、`answers.question_id.label`を使用して従業員が選択した回答ラベルを取得できます。
* 複数の回答質問の場合、`answers.question_id.labels`を使用して従業員が選択した回答ラベルのリストを取得できます。
* 意見スケール質問の場合、`answers.question_id.label`を使用して従業員が選択した回答ラベルと、`answers.question_id.value`を使用してその関連値を取得できます。 値は、選択された回答の名前の後に括弧内の数値で示されるものです。
* NPS質問では、`answers.question_id.value`（0から10の数値）、`answers.question_id.category`（プロモーター、パッシブ、またはディトラクター）、および`answers.question_id.label`（0のディトラクターから10のプロモーターまでの範囲）を使用して、選択した選択肢の詳細を異なる方法で取得できます。

さらに、すべての質問タイプに対して`answers.question_id.comment`を使用して自由回答コメントにアクセスし、`answers.question_id.type`を使用して質問タイプを知ることができます。

パラメトリックキャンペーンの場合、キャンペーンをトリガーした時点で指定されたパラメーターの値に`parameters.parameter_id`を使用してアクセスできます。

## レスポンスステート <a href="#scrutinizingtheresultsofacampaignwithnql-responsestate" id="scrutinizingtheresultsofacampaignwithnql-responsestate"></a>

レスポンスの状態は、キャンペーンの配信状況、従業員とのインタラクション、およびキャンペーン質問への回答について知らせます。 `responses`テーブルの`state`および`state_details`フィールドは、レスポンスの現在の状態を反映しています。 履歴化されたステート情報は、`historical_state`、`historical_state_details`、`historical_time`フィールドを使用して利用可能です。

以下に、レスポンスのさまざまな状態の詳細を示します。

| 地域    | ステータスの詳細     | 説明                                                                                                                                                                                                                                                  |
| ----- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 計画済み  | 該当なし         | <p>キャンペーンがトリガーされたときに従業員はデバイスにオンラインであり、<a href="../managing-campaigns/creating-campaigns/limiting-the-reception-rate-of-campaigns">従業員保護ルール</a>を考慮すると、従業員のデバイスが可能になり次第、キャンペーンを表示する準備が整っています。</p><p>このケースでは、状態詳細フィールドは適用されず、この状態に変動はありません。</p>        |
| ターゲット | オフライン        | 従業員はキャンペーンがトリガーされたときにオフラインでした。                                                                                                                                                                                                                      |
| ターゲット | 遅延           | キャンペーンはまだ配信されていません。なぜなら、ユーザーをキャンペーンのバーストから保護する間隔中に到着したからです。([DNDP, NNPP](https://docs.nexthink.com/platform/ja/user-guide/campaigns/managing-campaigns/creating-campaigns/limiting-the-reception-rate-of-campaigns))。 保護期間が経過すると、従業員はキャンペーンを受け取ります。 |
| ターゲット | 延期           | ユーザーはキャンペーンを延期するために\_後でリマインド\_オプションをクリックしました。デフォルトのリマインダー頻度は1日に2回です。                                                                                                                                                                                |
| ターゲット | 通知済み         | ユーザーにはキャンペーンが表示されました。セミコラプス状態または最初の質問のコンテンツサイズに応じて完全に開いています。                                                                                                                                                                                        |
| ターゲット | オープン         | ユーザーはキャンペーンを提示され、セミコラプス状態から開き、最初の質問を完全に見ました。 質問がノンコラプスで表示されると、状態は直接\_通知済み\_から\_オープン\_に更新されます。                                                                                                                                                       |
| 拒否    | 該当なし         | 従業員は回答を拒否しました。 この場合、状態詳細フィールドは適用されません。この状態には変動がありません。                                                                                                                                                                                               |
| 回答済み  | 一部回答         | 従業員は質問の一部にのみ回答しました。                                                                                                                                                                                                                                 |
| 回答済み  | 完全回答         | 従業員は全ての質問に回答しました。                                                                                                                                                                                                                                   |
| キャンセル | キャンセル        | 技術的な理由で、従業員やデバイスが存在しなくなるなどして、スケジューラールールによってイベントがキャンセルされました。                                                                                                                                                                                         |
| キャンセル | ユーザーが見つかりません | 提供されたSIDに関連する従業員をシステムが見つけられませんでした。                                                                                                                                                                                                                  |
| キャンセル | 期限切れ         | <p>従業員を対象としたリクエストが送信され、標準有効期限内に回答されなかったか、拒否されました。</p><p>リクエストはデフォルトで1年後に期限切れになります。</p><p>有効期限はAPIを使用してキャンペーンをトリガーする際にのみ変更できます。</p>                                                                                                                  |
| キャンセル | 既に保留中        | 従業員は同じキャンペーンに対する保留中のレスポンスをすでに持っており、パラメトリックキャンペーンの場合、手動またはAPIを介して再対象化されたときに同じパラメータ値で持っています。 システムは二重通知を避けるためにリクエストをキャンセルしました。                                                                                                                         |
| キャンセル | コレクター非互換     | この状態は、互換性のない機能を含むキャンペーンでターゲットされた場合、Nexthink Collectorによって設定されます。                                                                                                                                                                                    |
| 退役    | 該当なし         | <p>キャンペーンは引退しており、レスポンスは最終状態（回答済み、拒否されたまたはキャンセルされた）ではありません。</p><p>この場合、状態詳細フィールドは適用されません。この状態には変動がありません。</p>                                                                                                                                         |
| 不明    | 該当なし         | キャンペーンが従業員を対象にしなかったか、従業員が通知を受け取らなかったか、いずれかの理由で従業員のデバイスとの通信に問題があるか、デバイスの電源が切れています。 このケースでは、状態詳細フィールドは適用されません。この状態には変動がありません。                                                                                                                         |

***

関連トピック

* [monitoring-specific-campaign-responses](https://docs.nexthink.com/platform/ja/user-guide/campaigns/working-with-campaigns/monitoring-specific-campaign-responses "mention")
* [キャンペーンNQLの例](https://docs.nexthink.com/platform/ja/user-guide/campaigns/campaigns-nql-capabilities/campaigns-nql-examples)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nexthink.com/platform/ja/user-guide/campaigns/campaigns-nql-capabilities/scrutinizing-the-results-of-a-campaign-with-nql.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
