# Mode - 图表函数

Mode() 用于查找聚合数据的最常出现的值（即模式值）。Mode() 函数可处理文本值和数字值。

语法：

Mode({[SetExpression] [TOTAL [&lt;fld {,fld}&gt;]]} expr)

返回数据类型： 双

参数

| 参数 | 描述 |
| --- | --- |
| expr | 表达式或字段包含要度量的数据。 |
| SetExpression | 聚合函数会默认聚合选择项定义的可能记录集合。可选记录集合可由集合分析表达式定义。 |
| TOTAL | 如果在函数参数前面出现单词 TOTAL，则计算给出当前选择项的所有可能值，而不只是属于当前维度值的那些值，即它会忽略图表维度。<br><br>通过使用 TOTAL [&lt;fld {.fld}&gt;]（其中 TOTAL 限定符后跟一个或多个字段名称作为图表维度变量的子集的列表），您可以创建总可能值的子集。<br><br>[定义聚合范围](https://help.qlik.com/zh-CN/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

示例：图表表达式

| 示例 | 结果 |
| --- | --- |
| `Mode(UnitSales)` | 返回 `UnitSales` 中最常出现的值。<br><br>返回 `NULL (-)`。没有一个单值会比其他值更频繁地出现。 |
| `Mode(Customer)` | 返回 `Customer` 中最常出现的值。<br><br>返回 `NULL (-)`。没有一个单值会比其他值更频繁地出现。 |
| `Mode(TOTAL UnitSales)` | `TOTAL` 限定符忽略图表维度，返回 `Unitsales` 中最常见的值。 |
| `Mode({1} TOTAL UnitSales)` | 集分析表达式 `{1}` 定义了要作为 `ALL` 评估的记录集，与所做任何选择无关。例如，如果选择了特定的客户，它仍会返回整个数据集中最常见的 `UnitSales` 值 。 |

## 示例 - Mode 基本原理

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

#### 图表表达式

概览

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

加载脚本包含：

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

* 数据表中有以下字段：

  * `Customer`

  * `UnitSales`

  * `UnitPrice`

加载脚本

```
Example:
LOAD * inline [
Customer|UnitSales|UnitPrice
Astrida|4|16
Astrida|10|15
Astrida|9|9
Astrida|10|10
Betacab|5|10
Betacab|4|20
Betacab||25
Canutility|8|15
Canutility|4|19
] (delimiter is '|');
```

结果

加载数据并打开工作表。创建新表并将该字段添加为维度：

* `Customer`

创建以下度量：

* `=Mode(UnitSales)`，计算最常见的 `UnitSales` 值。

* `=Mode(Customer)`，计算最常见的 `Customer` 值。

* `=Mode(TOTAL UnitSales)`，计算整个数据集中最常见的 `UnitSales` 值，不考虑图表维度。如果进行了选择，则该值将进行调整以反映该选择。

* `=Mode({1} TOTAL UnitSales)`，计算最常出现的 `UnitSales` 值，忽略选择。如果进行了选择，则该值保持不变。

Results table

| Customer | Mode(UnitSales) | Mode(Customer) | Mode(TOTAL UnitSales) | Mode({1} TOTAL UnitSales) |
| --- | --- | --- | --- | --- |
| Totals | 4 | Astrida | 4 | 4 |
| Astrida | 10 | Astrida | 4 | 4 |
| Betacab | - | Betacab | 4 | 4 |
| Canutility | - | Canutility | 4 | 4 |

在此示例中，请注意以下几点：

* 在第一个度量 (`Mode(UnitSales)`) 中，客户 `Astrida` 最常出现的值是 `10`。`Totals` 单元格返回 `4`，这是整个数据集中 `UnitSales` 最常见的值。没有 `Betacab` 和 `Canutility` 最常见值的实例，因此对于这些客户，结果会返回 `NULL`。

* 在第二个度量 (`Mode(Customer)`) 中，结果会返回每个客户名称。但是，`Totals` 单元格会返回 `Astrida`，因为这是整个数据集中最常见的客户值。

* 第三个度量 (`Mode(TOTAL UnitSales)`) 返回值 4。 如果未选择 `Customer`，则此列中的所有单元格都将显示值 4。 如果您选择一个客户，例如 `Betacab`，此列将返回 `NULL`，因为没有 `Betacab` 常见的值。

* 无论 `Customer` 字段中有任何选择，第四个度量 (`Mode({1} TOTAL UnitSales)`) 都会返回 `4`，因为集合分析表达式 `{1}` 定义了要计算为 `ALL` 的记录集。例如，如果您选择 `Betacab` ，该列将继续返回值 `4` 。

## 示例 - 确定销售数据异常的模式方案

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

#### 图表表达式

概览

数据集包含按月分列的销售数据。该公司希望看到每个产品和整个数据集最常见的销售值。它还希望将按产品划分的销售额与整个数据集进行比较，以识别数据中的任何非典型异常。

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

加载脚本包含：

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

* 数据表中有以下字段：

  * `Date`

  * `Product`

  * `Category`

  * `Sales`

加载脚本

```
Example:
Load * inline [
Date, Product, Category, Sales
2024-01-01, Apple, Fruit, 100
2024-01-15, Banana, Fruit, 80
2024-01-30, Carrot, Vegetable, 50
2024-02-05, Apple, Fruit, 100
2024-02-20, Banana, Fruit, 90
2024-02-28, Carrot, Vegetable, 60
2024-03-10, Apple, Fruit, 110
2024-03-22, Banana, Fruit, 80
2024-03-31, Carrot, Vegetable, 50
2024-04-10, Apple, Fruit, 125
2024-04-22, Banana, Fruit, 60
2024-04-31, Carrot, Vegetable, 80
];
```

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度：

* `Category`

* `Product`

创建以下度量：

* `=Mode(Sales)`，计算每种产品最常见的值。

* `=Mode(TOTAL Sales)`，计算整个数据集最常见的值。

* `If(Mode(Sales) = Mode(TOTAL Sales), 'Typical', 'Atypical')`，计算与整个数据集的结果相比，每个产品最常见的值是否为典型。

Results table

| Category | Product | Mode(Sales) | Mode(TOTAL Sales) | If(Mode(Sales) = Mode(TOTAL Sales), 'Typical', 'Atypical') |
| --- | --- | --- | --- | --- |
| Fruit | Apple | 100 | 80 | Atypical |
| Fruit | Banana | 80 | 80 | Typical |
| Vegetable | Carrot | 50 | 80 | Atypical |

`Mode` 函数的输出按产品、`Mode(Sales)` 和所有产品 `Mode(TOTAL Sales)` 返回最常见的销售值。然后比较这两个值，以确定哪些销售结果是典型的或非典型的。

## 了解详情

* [Avg - 图表函数](https://help.qlik.com/zh-CN/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/avg.htm)
* [Median - 图表函数](https://help.qlik.com/zh-CN/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/median.htm)
* [集合分析](https://help.qlik.com/zh-CN/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [定义聚合范围](https://help.qlik.com/zh-CN/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)