# 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/ru-RU/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` не существует часто встречающегося значения.

* Четвертая мера (`Mode({1} TOTAL UnitSales)`) возвращает `4` независимо от выборки в поле `Customer`, потому что выражение анализа множества `{1}` определяет набор записей, которые будут оцениваться как `ALL`. Например, если выбрать `Betacab`, этот столбец будет по-прежнему возвращать значение `4`.

## Пример. Сценарий использования функции Mode для определения аномалий в данных о продажах

[](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/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/avg.htm)
* [Median — функция диаграммы](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/median.htm)
* [Анализ множеств](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Определение объема агрегирования](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)