# GetCurrentSelections - チャート関数

GetCurrentSelections()は、アプリ内の現在の選択条件のリストを返します。 代わりに、検索ボックスで検索文字列を使用して選択が行われた場合、GetCurrentSelections()は検索文字列を返します。

オプションを使用している場合、record\_sep を指定する必要があります。新しい行を指定するには、record\_sep を chr(13)&chr(10) に設定します。

特定の値を除くすべての値を選択する場合、除外する値が 2 つの場合は「NOT x,y」、1 つの場合は「NOT y」形式を使用します。すべての値を選択し、その値のカウントが max\_values よりも大きい場合、ALL のテキストが返されます。

構文:

GetCurrentSelections ([record\_sep [, tag\_sep [, value\_sep [, max\_values [, state\_name]]]]])

戻り値データ型： 文字列

引数

| 引数 | 説明 |
| --- | --- |
| record\_sep | 項目レコードの間に置かれる区切り記号です。デフォルトでは、新しい行を意味する &lt;CR&gt;&lt;LF&gt; が使用されます。 |
| tag\_sep | 項目名のタグと項目値の間に置かれる区切り記号です。既定は「` :  `」です。 |
| value\_sep | 項目値の間に配置される区切り記号。デフォルトは「,」です。 |
| max\_values | 個々にリストされる項目値の最大数です。この数が大きくなると、「x of ｙ value」(x/y 個) という表記が使用されます。デフォルトは 6 です。 |
| state\_name | 特定のビジュアライゼーションのために選択された並列ステートの名前。state\_name 引数が使用されると、特定のステート名に関連付けられた選択のみが対象になります。<br><br>詳細については、「[並列ステートを使用した比較分析](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Visualizations/alternate-states-comparative-analysis.htm)」を参照してください。 |

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `GetCurrentSelections ()` | どの項目でも選択が行われていない場合は (`-`) を返します。選択が行われた場合、返される値は項目名と値です (例: `First Name : John`)。 |

## 例 - GetCurrentSelections の基本

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getcurrentselections.htm)

#### チャートの数式

概要

この例では、`GetCurrentSelections` 関数によって返される値が、選択内容に応じてどのように変化するかを示します。

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 「`Example`」というデータ テーブルにロードされるデータセット。

* データ テーブル内の次の項目:

  * `FirstName`

  * `LastName`

  * `Initials`

  * `HasCellphone`

ロード スクリプト

```
Example:
LOAD * inline [
FirstName|LastName|Initials|HasCellphone
John|Anderson|JA|Yes
Sue|Brown|SB|Yes
Mark|Carr|MC|No
Peter|Devonshire|PD|No
Jane|Elliot|JE|Yes
Peter|Franc|PF|Yes ] (delimiter is '|');
```

結果

1. データをロードしてシートを開きます。新しいフィルター パネルを作成し、次の項目を軸として追加します。

   * `FirstName`

   * `Initials`

2. KPI オブジェクトを追加し、次のメジャーを作成します。

   * `=GetCurrentSelections ()`、現在の選択を見つけます。

     値が選択されていないため、KPI は (`-`) を返します。

   ヒント メモこの例では、出力を見やすくするために、応答性が高いレイアウト動作を使用するように KPI のスタイルが調整されています。[KPI のスタイル指定](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Visualizations/KPI/KPI.htm#Styling)。

3. [シートを編集] をクリックして分析モードに切り替え、`FirstName` 項目で `John` を選択します。KPI は `FirstName: John` を返します。

   * ここで `Peter` を選択して、`John` と `Peter` の両方が選択されるようにします。KPI は `FirstName: John, Peter` を返します。

   * `Initials` 項目から `JA` を選択して、選択に追加します。KPI は `First name: John, Peter Initials: JA` を返します。

     ![GetCurrentSelection 関数は、ファーストネームの John と Peter、イニシャルの JA を返します。](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetCurrSel-example.png)

4. 選択をクリアして、次を実行します。

   * `FirstName` 項目から `John` を選択し、`Initials` 項目から `JA` を選択します。

   * KPI の数式を `=GetCurrentSelections ( chr(13)&chr(10) , ' = ' )` のように編集します (タグ区切り文字を等号 (`=`) に変更)。

     情報メモKPI は改行をサポートしておらず、レコード区切りとしてスペースを追加します。

5. 選択をクリアして、次を実行します。

   * `FirstName` 項目で `Sue` 以外の名前をすべて選択します。

   * KPI の数式を `=GetCurrentSelections (chr(13)&chr(10), '=', ',' ,3)` のように編集します (タグ区切り文字 (`=`)、値区切り文字 (`,`)、リストする値の最大数 (`3`) を追加)。

     ![結果は、選択された名前の数が関数式で設定されたリストする最大値を超えたため、Sue だけが選択されませんでした。](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetCurrSel-example2.png)

     4 つの名前が選択されたにもかかわらず、`max_values` 引数には 3 つしかリストされないため、KPI は値 `FirstName=NOT Sue` を返します。`max_values` 引数を `4` に変更すると、4 つの値すべてが同じ選択で個別にリストされます。

     ![最大値が 4 に変更されたため、選択した 4 つの名前がすべて表示されるようになりました。](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetCurrSel-example3.png)

## 例 - チャートのタイトルをカスタマイズして選択を表示する

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getcurrentselections.htm)

#### チャートの数式

概要

この例では、`GetCurrentSelections` 関数を使用して、ユーザーの選択に基づいて動的なチャートのタイトルを作成する方法を示します。

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 「`Example`」というデータ テーブルにロードされるデータセット。

* データ テーブル内の次の項目:

  * `SalesID`

  * `Product`

  * `Year`

  * `Region`

  * `SalesAmount`

ロード スクリプト

```
Example:
LOAD * INLINE [
SalesID, Product, Year, Region, SalesAmount
1, WidgetA, 2021, North, 500
2, WidgetB, 2021, South, 600
3, WidgetC, 2021, East, 450
4, WidgetA, 2021, West, 700
5, WidgetB, 2022, North, 550
6, WidgetC, 2022, South, 425
7, WidgetB, 2022, East, 650
8, WidgetC, 2022, West, 250
9, WidgetB, 2023, North, 650
10, WidgetC, 2023, South, 325
11, WidgetB, 2023, East, 550
12, WidgetC, 2023, West, 450
13, WidgetB, 2024, North, 550
14, WidgetC, 2024, South, 525
15, WidgetB, 2024, East, 350
16, WidgetC, 2024, West, 650
];
```

結果

1. データをロードしてシートを開きます。新しいフィルター パネルを作成し、次の項目を軸として追加します。

   * `Region`

   * `Year`

2. 折れ線グラフを作成し、次の軸を追加します。

   * `Year`

   * `Region`

3. 次のメジャーを作成します:

   * `=Sum(SalesAmount)`、総売上を表示します。

4. メジャーのプロパティ パネルの [スタイル] &gt; [一般] &gt; [タイトル] に、`='Sales Analysis for: ' & GetCurrentSelections()` の式を入力します。

   ![折れ線グラフには、年別および地域別の売上合計が表示されます。](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetCurrSel-example4.png)

   結果には、すべての地域と年の売上の合計が表示されます。チャートのタイトルは `Sales Analysis for:` のように表示されます。

5. [シートを編集] をクリックして分析モードに切り替え、次の選択を実行します。

   * [地域] 項目で `East` と `North` を選択します。

   * [年] 項目で `2022` と `2023` を選択します。

     ![折れ線グラフには、選択した地域と年のみの売上合計が表示されます。](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetCurrSel-example5.png)

     チャートのタイトルが変わり、`Region` と `Year` のフィルター選択が表示されます。