# キャンペーンのNQL例

{% hint style="info" %}
[キャンペーンプログラムの開始](/platform/ja/user-guide/campaigns/managing-campaigns/launching-campaign-programs.md) ドキュメントを参照して、計画、承認、テスト、および組織内でのキャンペーン開始に関するガイドラインを確認してください。
{% endhint %}

このNQLクエリ例のリストは、キャンペーンに関連するユーザーを選択するのに役立ちます。 以下のクエリを確認し、あなたのユースケースに最も近いクエリをコピーし、適宜調整してください。

## スケジュールされたキャンペーンでターゲットにするユーザーへのクエリ例\ <a href="#campaignsnqlexamples-examplequeriestotargetusersinscheduledcampaigns" id="campaignsnqlexamples-examplequeriestotargetusersinscheduledcampaigns"></a>

<details>

<summary>特定の都市のすべてのユーザーを取得します。</summary>

{% code lineNumbers="true" %}

```
users
| where ad.city == "Lausanne"
```

{% endcode %}

</details>

<details>

<summary>昨晩24時間でデバイス上で動作していたCollector (xTray) を持つユーザーを取得します。</summary>

{% code lineNumbers="true" %}

```
users
| include execution.events during past 24h
| where binary.name == "nxtray*"
| compute c1 = binary.name.count()
| where c1 > 0
```

{% endcode %}

</details>

<details>

<summary>MS TeamsまたはZoomを昨日インストールしたユーザーを取得します。</summary>

{% code lineNumbers="true" %}

```
users
| with package.installations during past 1d
| where package.name in [ "MS Teams", "Zoom" ]
```

{% endcode %}

</details>

<details>

<summary>特定の部署のユーザーを取得します。</summary>

{% code lineNumbers="true" %}

```
users
| where ad.department == "Finance"
```

{% endcode %}

</details>

<details>

<summary>過去7日以内に3回システムクラッシュしたデバイスを使用した最後のユーザーを取得します。</summary>

{% code lineNumbers="true" %}

```
devices past 7d
| with device_performance.system_crashes past 7d
| compute nb_crashes = count()
| where nb_crashes >= 3
| with session.events past 7d
| compute user_sid = user.sid.last()
| list user_sid
```

{% endcode %}

</details>

<details>

<summary>IT部門以外の最後のユーザーで、バッテリー健康度が悪いユーザーを取得します。</summary>

{% code lineNumbers="true" %}

```
devices past 7d
| where remote_action.get_battery_status.execution.outputs.BatteryHealth < 0.3
| with session.events past 7d
| where user.ad.department != "*IT*"
| compute user_sid = user.sid.last()
| list user_sid
```

{% endcode %}

</details>

<details>

<summary>DEXキャンペーンをスケジュールします</summary>

従業員のランダムなサンプルを選択して感情データを継続的に収集するには、以下のクエリを設定してください。 `#dex_campaign_name` をキャンペーンの **NQL ID** に置き換え、以下の `50` に設定されている制限を調整して、キャンペーンが毎時ターゲットにする新しいユーザーの数を指定してください。

次のことに注意してください:

* [全般タブ](/platform/ja/user-guide/campaigns/managing-campaigns/creating-campaigns.md#accessing-campaign-edit-page) で **スケジュール** トリガー方法を定義します。
* キャンペーンを受け取る対象者が再度受け取る[最小日数](#target-employees-will-receive-the-campaign)を提供し、「再度」 を選択します。
* NQLクエリを使用する前に、少なくとも一度はキャンペーンを保存してください。 これにより、システムがキャンペーンを認識し、NQLクエリを検証する際の`_Table does not exist_` エラーを回避します。

{% code lineNumbers="true" %}

```
users
| include campaign.#dex_campaign_name.responses
| compute number_of_requests = count()
| sort number_of_requests asc
| limit 50
```

{% endcode %}

</details>

## キャンペーン結果を検査するためのクエリ例\ <a href="#campaignsnqlexamples-examplequeriestoinspectcampaignresults" id="campaignsnqlexamples-examplequeriestoinspectcampaignresults"></a>

<details>

<summary>すべての回答</summary>

`Remote Work Demo`キャンペーンのすべての回答を、ユーザーの `username`, `time`, `state` および `state_details` とともに表示します。

{% code lineNumbers="true" %}

```
campaign.responses
| where campaign.name == "Remote Work Demo"
| list user.name, response.time, state, state_details
```

{% endcode %}

</details>

<details>

<summary>要約ビュー</summary>

`Remote Work Demo`キャンペーン応答のサマリービュー。`trigger_method`, `time`, `state`, `state_details` およびユーザーごとの回答数に関する情報。

{% code lineNumbers="true" %}

```
campaign.responses
| where campaign.name == "Remote Work Demo"
|list response.trigger_method, user.name, response.time, campaign.response.first_planned, campaign.response.first_targeted, campaign.response.first_displayed, state, state_details, response.number_of_answered_questions
```

{% endcode %}

</details>

<details>

<summary>状態ごとの応答数</summary>

`Remote Work Demo`キャンペーンのユーザーごとの`state`および`state_details`に基づく応答数をカウントします。

{% code lineNumbers="true" %}

```
campaign.responses
| where campaign.name == "Remote Work Demo"
| summarize cnt = count() by user.name, campaign.response.state, campaign.response.state_details 
| list user.name, cnt, campaign.response.state, campaign.response.state_details   
```

{% endcode %}

</details>

<details>

<summary>特定のユーザーの応答数をカウント</summary>

特定のユーザーの `campaign`, `state` および `state_details` 別のキャンペーン応答をカウントします。

{% code lineNumbers="true" %}

```
campaign.responses
| where user.name == "johndoe@DOMAIN"
| summarize cnt = count() by campaign.name, user.name, campaign.response.state, campaign.response.state_details   
| list user.name, campaign.name, cnt, campaign.response.state, campaign.response.state_details 
```

{% endcode %}

</details>

<details>

<summary>過去の状態</summary>

`Remote Work Demo`キャンペーンの応答の履歴状態を表示します。

{% code lineNumbers="true" %}

```
campaign.responses
| where campaign.name == "Remote Work Demo"
| list response.historical_time, response.historical_state, response.historical_state_details
```

{% endcode %}

</details>

<details>

<summary>応答済みまたは辞退された応答の数をカウント</summary>

`#my_campaign` NQL ID を持つキャンペーンの、応答済みまたは辞退された応答の数をカウントします。

{% code lineNumbers="true" %}

```
campaign.#my_campaign.responses
| where state in [answered, declined]
| summarize cnt_responses = request_id.count() by state
| list state, cnt_responses
```

{% endcode %}

</details>

<details>

<summary>質問選択ごとの応答数をカウント</summary>

`vpn_quality` 質問IDを持つ1つ選択、意見尺度、またはNPS質問の質問選択ごとの応答数をカウントします。

{% code lineNumbers="true" %}

```
campaign.#my_campaign.responses
| summarize cnt = request_id.count() by answers.vpn_quality.label, state, state_details
| sort cnt desc
```

{% endcode %}

</details>

<details>

<summary>特定のキャンペーンに回答したユーザーのリスト</summary>

`#my_campaign` NQL ID のキャンペーンに回答したユーザーをリストします。

{% code lineNumbers="true" %}

```
campaign.#my_campaign.responses
| where state == answered
| list user.name, state, state_details, number_of_answered_questions
```

{% endcode %}

</details>

<details>

<summary>特定の選択肢で回答したユーザーのリスト</summary>

`how_often` NQL IDを持つ質問で `always` とラベル付けされた選択肢で回答したユーザーを、`#my_campaign` NQL IDを持つキャンペーンでリストします。

{% code lineNumbers="true" %}

```
campaign.#my_campaign.responses during past 30d
| where answers.how_often.label = "always"
| list user.name, time
```

{% endcode %}

</details>

<details>

<summary>感情キャンペーンへの最終回答を持つユーザーのリスト</summary>

`#service_sentiment` NQL ID 指定の感情キャンペーンにおける `sentiment` 質問 ID の最終回答を持つすべてのユーザーをリストします（ある場合）。

{% code lineNumbers="true" %}

```
users
| include campaign.#service_sentiment.responses
| where state == answered
| compute last_satisfaction = answers.sentiment.label.last(), last_answer_on_device = device.name.last()
| list user.name, last_satisfaction, last_answer_on_device
```

{% endcode %}

</details>

<details>

<summary>特定の値を持つパラメトリックキャンペーンの最終回答を持つユーザーのリスト</summary>

`issue_type` ID を持つパラメータの値が `Incident` の場合に、`#ticket_satisfaction` NQL ID を持つパラメトリックキャンペーンで `sentiment` 質問 ID の最終回答とコメントを持つユーザーをリストします。

{% code lineNumbers="true" %}

```
users
| with campaign.#ticket_satisfaction.responses
| where state == answered and parameters.issue_type == "Incident"
| compute last_satisfaction = answers.sentiment.label.last(), last_comment = answers.sentiment.comment.last(), ticket_number = parameters.ticket_number.last()
| list ticket_number, last_satisfaction, last_comment, user.name
```

{% endcode %}

</details>


---

# 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/campaigns-nql-examples.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.
