# GetPossibleCount - 图表函数

GetPossibleCount() 用于查找标识字段中可能值的数量。如果标识字段包括选择项，则计算选定（绿色）值的数量。否则，计算相关（白色）值的数量。

对于有选择项的字段，GetPossibleCount() 将返回所选（绿色）字段的数量。

语法：

GetPossibleCount (field\_name)

返回数据类型： 整数

信息注释

选择栏中使用的颜色以及每个选择项状态都可以使用自定义主题进行修改。如果您所用的是使用自定义主题的应用程序，您可能会注意到您的选择显示的颜色与该帮助主题中描述的颜色不同。

参数

| 参数 | 描述 |
| --- | --- |
| field\_name | 包含要度量的数据范围的字段。 |

下表列出了与此函数相关的其他函数。

相关函数

| 函数 | 交互 |
| --- | --- |
| [GetStateCounts - 图表函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getstatecounts.htm) | 使用 GetStateCounts()，您可以使用单个函数调用组合以下计数的计算：<br><br><ul><li><p>所选包含值的计数。</p></li><li><p>可能的值计数。</p></li><li><p>替代值的计数。</p></li><li><p>排除值的计数，不包括替代和选定的排除值。</p></li><li><p>所选排除值的计数。</p></li></ul> |
| [GetSelectedCount - 图表函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getselectedcount.htm) | 返回所选包含值的计数。 |
| [GetAlternativeCount - 图表函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getalternativecount.htm) | 返回替代值的计数。 |
| [GetPossibleCount - 图表函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getpossiblecount.htm#) | 返回排除值的计数，不包括替代和选定的排除值。 |

示例：图表表达式

| 示例 | 结果 |
| --- | --- |
| `GetPossibleCount( Initials )` | 如果没有进行选择，则返回字段 `Initials` 中唯一值的总数。如果选择此字段中的一个值，则返回 1。 如果在另一个字段上进行了选择，则返回的值是 `Initials` 字段中与第二个字段中选择的值相关的唯一值的数量。 |

## 示例 - GetPossibleCount 基本原理

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

#### 图表表达式

概述

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 加载到名为 `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 对象，每个对象对应以下度量表达式：

   * KPI 1：`=GetPossibleCount(FirstName)` ，用于返回 `FirstName` 字段中可能的唯一值的数量。

   * KPI 2： `=GetPossibleCount(Initials)`，用于返回 `Initials` 字段中可能的唯一值的数量。

   每个 KPI 返回可能的唯一值的数量。在筛选器中没有选择项的情况下，KPI 1 返回值 `5` ，KPI 2 返回值 `6`。

   提示注释在本示例中，KPI 的样式已调整为使用响应式布局行为，以更加便于查看输出结果。有关更改图表布局行为的更多信息，请参阅[设定 KPI 的样式](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/KPI/create-kpis.htm#Styling)

3. 单击编辑工作表切换到分析模式，然后从 `FirstName` 筛选器中选择 `John`。

   这两个 KPI 都会返回值 `1`，因为 `FirstName` 字段中选择了一个值，而 `JA` 是 `Initials` 字段中唯一的相关值。

4. 清除 `FirstName` 筛选器选择，然后选择 `Peter`。

   KPI 1 返回值 `1`，因为 `FirstName` 字段中有one个可能的唯一值。KPI 2 返回 `2`，因为 `Initials` 字段中可能存在 two 个可能的可用唯一值。

   ![两个 KPI，带两个相关的筛选器窗格。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetPosCnt-example.png)

## 示例 – GetPossibleCount 场景

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

#### 图表表达式

概述

经理希望筛选员工数据，以确定哪些员工在不同技能领域有经验。

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 加载到名为 `Example` 的数据表中的数据集。

* 数据表中有以下字段：

  * `Project`

  * `Employee`

  * `Skill`

加载脚本

```
Example:
LOAD * INLINE [
Project, Employee, Skill
Project X, John, Java
Project X, Mary, SQL
Project Y, James, Python
Project Y, Linda, Java
Project Z, Robert, SQL
];
```

结果

1. 加载数据并打开工作表。创建新的筛选窗格并将此字段添加为维度：

   * `Skill`

2. 创建 KPI 对象并添加以下度量：

   * `=GetPossibleCount(Employee)` 用于确定员工人数。

   在筛选器窗格中没有进行选择的情况下，KPI 返回值 `5` ，因为有 five 名员工。

   提示注释在本示例中，KPI 的样式已调整为使用响应式布局行为，以更加便于查看输出结果。有关更改图表布局行为的更多信息，请参阅[设定 KPI 的样式](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/KPI/create-kpis.htm#Styling)

3. 单击编辑工作表切换到分析模式，然后从 `Skill` 筛选器中选择 `Java`。

   KPI 返回值 `2` ，因为有 two 名员工掌握了 `Java` 这一技能。

   ![两个 KPI，带两个相关的筛选器窗格。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetPosCnt-example2.png)