# RangeMode 脚本和图表功能

RangeMode() 用于查找表达式或字段中最常出现的值（即模式值）。

语法：

RangeMode(first\_expr {, Expression})

返回数据类型： 数字

参数：

该函数的参数可能包含内部记录函数，并在其内部返回一系列值。

参数

| 参数 | 描述 |
| --- | --- |
| first\_expr | 表达式或字段包含要度量的数据。 |
| Expression | 可选表达式或字段包含要度量的数据范围。 |

限制：

如果多个值共享最高频率，则返回 NULL。

示例和结果：

函数示例

| 实例 | 结果 |
| --- | --- |
| `RangeMode<br>(1,2,9,2,4)` | 返回 2 |
| `RangeMode<br>('a',4,'a',4)` | 返回 NULL |
| `RangeMode<br>(null( ))` | 返回 NULL |

示例：

将示例脚本添加到您的应用程序并运行它。要查看结果，请将结果列中列出的字段添加到应用程序中的工作表。

`RangeTab3:` `LOAD recno() as RangeID, RangeMode(Field1,Field2,Field3) as MyRangeMode INLINE [` `Field1, Field2, Field3` `10,5,6` `2,3,7` `8,2,8` `18,11,9` `5,5,9` `9,4,2`

`];`

结果列表显示了为表格中的每条记录返回的 MyRangeMode 值。

结果表

| RangeID | MyRangMode |
| --- | --- |
| 1 | - |
| 2 | - |
| 3 | 8 |
| 4 | - |
| 5 | 5 |
| 6 | - |

带有表达式的示例：

`RangeMode (Above(MyField,0,3))`

返回在当前行和当前行上方两行中评估的三个 MyField 字段结果中最常出现的值。通过指定第三个参数作为 3，Above() 函数会返回三个值，如果上方有足够的行，会将其作为 RangeMode() 函数的输入。

示例中所使用的数据：

`RangeTab:``LOAD * INLINE [``MyField``10``2``8``18``5``9``] ;`

提示注释禁用 MyField 排序可确保示例符合预期。

样本数据

| MyField | RangeMode(Above(MyField,0,3)) |
| --- | --- |
| 10 | 返回 10，因为上面没有行，因此单个值是最常出现的。 |
| 2 | - |
| 8 | - |
| 18 | - |
| 5 | - |
| 9 | - |

## 了解详情

* [Mode - 图表函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/mode.htm)