# GetStateCounts - チャート関数

GetStateCounts() チャート関数は、指定された選択ステートに一致する一意の値の合計数を計算するために使用されます。

GetStateCounts() を使用すると、GetSelectedCount()、GetNotSelectedCount()、GetAlternativeCount()、GetPossibleCount()、GetExcludedCount() の関数の計算を 1 つの関数呼び出しに組み合わせることができます。選択された除外値の個数も計算に追加できます。各関数の計算で返される合計を加算するか減算するかを指定できます。

構文:

GetStateCounts (field\_name, state\_name [, state\_type1,...state\_typeN])

戻り値データ型： 整数

引数

| 引数 | 説明 |
| --- | --- |
| field\_name | 選択ステートを計算する項目。存在しない項目名の場合、結果は NULL になります。 |
| state\_name | 代替ステートの名前。引数が空 (`''`) または NULL の場合、継承された代替ステートが使用されます。既定のステートを明示的に使用するには、`$` を使用します。名前付き (空でない) ステート名が既存のステートと一致しない場合、結果は NULL となります。 |
| state\_type | 項目値の 1 つ以上のステート タイプのリスト。これらのステート タイプはカウントに集計されます。ステート タイプはキーを使用して指定されます。各キーを単一引用符で囲んで入力します。<br><br>この引数を省略すると、関数は列挙と同じ順序で、項目のすべての使用可能なステート カウントを含む文字列を返します。<br><br>使用できるステートのリストについては、下表を参照してください。 |

ステート タイプは特定のキーを使用して参照されます。キーの数値バージョンまたはテキスト バージョンを使用できます。同じ数式で複数のキーを組み合わせると、結果をさらにカスタマイズできます。ステートの数を合計に加えるのではなく、合計から減算できます。これを実行するには、テキスト キーを使用し、ステート タイプのプレフィックスにマイナス記号 (`-`) を付けます。

ステート タイプおよび該当する場合は、マイナス記号は単一引用符で囲む必要があります。

各項目のステート タイプのキー

| 項目のステート タイプ | 説明 | 数値キー | テキスト キー |
| --- | --- | --- | --- |
| 選択済み | 選択された値を計算に含めます。同等の関数については、「[GetSelectedCount - チャート関数](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getselectedcount.htm)」 を参照してください。 | 1 | S |
| オプション | オプション (選択されていないが選択可能) 値を計算に含めます。同等の関数については、「[GetPossibleCount - チャート関数](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getpossiblecount.htm)」 を参照してください。 | 2 | O |
| 選択解除 | 選択されていない値を計算に含めます。このステート タイプは、項目が AND モードの場合にのみ使用できます。 | 3 | D |
| 代替 | 代替値を計算に含めます。同等の関数については、「[GetAlternativeCount - チャート関数](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getalternativecount.htm)」 を参照してください。 | 4 | プ |
| 除外済み | 除外 (選択されていない) 値を計算に含めます。同等の関数については、「[GetExcludedCount - チャート関数](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getexcludedcount.htm)」 を参照してください。 | 5 | X |
| 選択された除外値 | 選択された除外値を計算に含めます。 | 6 | XS |

## 使用に適しているケース

GetStateCounts() を使用すると、カスタム選択ステートを計算できます。この関数を使用すると、複数の関数呼び出しを 1 つの関数呼び出しに統合できるため、数式の記述プロセスが簡素化されます。

たとえば、ある項目の除外値、代替値、選択された除外値の合計数を計算する必要があるとします。この合計を計算するには、 GetStateCounts() を使用できます。

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `=GetStateCounts( ProductName, Null(), 'S' )` | 継承された代替ステートで、`ProductName` の選択された数を返します。 |
| `=GetStateCounts( ProductName, '', 'X', 'A', 'XS' )` | `ProductName` の除外値、選択された除外値、代替値の合計数を返します。継承された代替ステートが使用されます。 |
| `=GetStateCounts( ProductName, '', 'S', 'XS' )` | 継承されたステートでの `ProductName` のユーザー選択の合計数を返します。 |
| ProductName 項目が AND モードであると仮定します。<br><br><br>`=GetStateCounts(ProductName, '', 'D', '-O')` | `ProductName` の可能な値の数から減算した、選択されていない値の数を返します。継承された代替ステートが使用されます。 |
| `=GetStateCounts(ProductName, '', 'X', , 'A', 'XS')` | `ProductName` の除外値、選択された除外値、代替値の合計数を返します。継承された代替ステートが使用されます。 |
| `=GetStateCounts(ProductName, '$', 'O')` | 既定の代替ステートでの `ProductName` の実行できる個数を返します。 |
| `=GetStateCounts(ProductName, 'StateA', 'S')` | `StateA` という名前の代替ステートで、`ProductName` の選択された個数を返します。 |

## 例 1 – ユーザー選択の合計数をカウントする (選択された除外値を含む)

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

#### チャートの数式

概要

GetSelectedCount() 関数は、選択された除外値の合計数を含まない、選択された値の合計数を返します。GetExcludedCount() を使用すると、選択された除外値の個数をチャートの計算に含めることができます。

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

ロード スクリプト

```
Names:
LOAD * inline [
First name|Last name|Initials|Has cellphone
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. データをロードしてシートを開きます。

2. フィルター パネルを作成します。

3. 最初のフィルター パネルに First name を軸として追加します。2 つ目のフィルター パネルに Last name を軸として追加します。

4. 次に、このメジャーを使用して KPI を作成します。

   `=GetStateCounts([First Name],'', 'S','XS')`

5. First name フィルター パネルで、値 Mark と Peter を選択します。Last name フィルター パネルで、値 Carr を選択します。

6. KPI の値が 2 であることを確認します。これは、選択した除外値 Peter を含む、選択したすべての値がカウントされていることを反映しています。

## 例 2 – 除外、選択除外、代替カウントの組み合わせ

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

#### チャートの数式

概要

GetExcludedCount() 関数は、選択も除外もされていない一意の値の合計数を返します。選択した除外数と代替数をビジュアライゼーションに含める場合は、次のように GetStateCounts() 関数を使用できます。

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

ロード スクリプト

```
Names:
LOAD * inline [
First name|Last name|Initials|Has cellphone
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. データをロードしてシートを開きます。

2. フィルター パネルを作成します。

3. 最初のフィルター パネルに First name を軸として追加します。2 つ目のフィルター パネルに Last name を軸として追加します。

4. 次に、このメジャーを使用して KPI を作成します。

   `=GetStateCounts([First name], '', 'X', 'A', 'XS')`

5. First name フィルター パネルで、値 John と Peter を選択します。Last name フィルター パネルで、値 Franc を選択します。

6. KPI の値が 4 であることを確認します。これは、除外された値に加えて、選択された除外値 John がカウントされていることを反映しています。

7. KPI を編集し、既存のメジャーを次のものに置き換えます。

   `=GetStateCounts([Last name], '', 'X', 'A', 'XS')`

8. 既存の選択を維持したまま、Last name フィルター パネルで値 Anderson を選択します。

9. KPI の値がまだ 4 であることを確認します。これは、除外された値に加えて、代替値 Devonshire がカウントされていることを反映しています。