# NullCount — функция диаграммы

NullCount() используется для агрегирования количества значений null в каждом измерении диаграммы.

Синтаксис:

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

Возвращаемые типы данных: integer

Аргументы

| Аргумент | Описание |
| --- | --- |
| expr | Выражение или поле, содержащее данные для измерения. |
| SetExpression | По умолчанию функция агрегирования агрегирует множество возможных записей, определенных выборкой. Альтернативный набор записей может быть определен выражением анализа множества. |
| DISTINCT | Если слово DISTINCT указывается до аргументов функции, все дубликаты, возникшие в результате оценки аргументов функции, будут проигнорированы. |
| 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) |

Пример: выражения диаграммы

| Пример | Результат |
| --- | --- |
| `NullCount(OrderNumber)` | Возвращает количество значений NULL в поле `OrderNumber`. |
| ` NullCount (OrderNumber)/NullCount ({1} Total OrderNumber)  ` | Выражение возвращает количество заказов со значением `NULL` для `OrderNumber` от выбранного клиента в виде доли всех заказов клиентов со значением `NULL` для `OrderNumber`. |

## Пример. Основы использования функции NullCount

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

#### Выражение диаграммы

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, который загружается в таблицу данных под именем `Example`.

* Переменная, обрабатывающая значение `NullInterpret`, для которой задано значение `NULL`. Переменная будет интерпретировать все записи с текстом `NULL` как нулевые значения.

* Следующие поля в таблице данных:

  * `Customer`

  * `Product`

  * `OrderNumber`

Скрипт загрузки

```
Set NULLINTERPRET = NULL;
Example:
LOAD * inline [
Customer|Product|OrderNumber
Astrida|AA|1
Astrida|AA|7
Astrida|BB|4
Astrida|CC|6
Betacab|AA|5
Betacab|BB|2
Betacab|DD|NULL
Canutility|AA|3
Canutility|AA|NULL
Canutility|CC|NULL
] (delimiter is '|');
```

Примечание к подсказкеЧтобы вернуть для переменной `NullInterpret` значение по умолчанию, включите следующий оператор переменной в конце скрипта загрузки: `Set NULLINTERPRET =;`

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение:

* `Customer`

Создайте следующие меры:

* `=NullCount(OrderNumber)`, чтобы вычислить количество заказов со значением `NULL` для `OrderNumber`.

* `=NullCount (OrderNumber)/NullCount ({1} Total OrderNumber)`, чтобы вернуть количество заказов со значением `NULL` для `OrderNumber` (от выбранного клиента) в виде доли всех заказов клиентов со значением `NULL` для `OrderNumber`. Чтобы показать это значение в процентах, в разделе Форматирование чисел выберите Число &gt; Простое форматирование &gt; 12,34%.

Results table

| Customer | NullCount(OrderNumber) | NullCount (OrderNumber)/NullCount ({1} Total OrderNumber) |
| --- | --- | --- |
| Totals | 3 | 100.00% |
| Astrida | 0 | 0.00% |
| Betacab | 1 | 33.33% |
| Canutility | 2 | 66.67% |

Первая мера возвращает значение `3`, потому что существует всего `3` записи `OrderNumber` со значением `NULL` (`1` запись с клиентом `Betacab` и `2` записи с клиентом `Canutility`).

Вторая мера возвращает количество заказов `NULL` как долю заказов `NULL` от всех клиентов. Например, `66.67%` всех номеров заказов со значением `NULL` приписываются клиенту `Canutility`.

## Пример. Использование NullCount для определения нулевых значений в данных КПЭ

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

#### Выражение диаграммы

Обзор

Набор данных содержит ежемесячные данные по ключевым показателям эффективности (КПЭ). Менеджер по продукту хочет выяснить, какие КПЭ имеют нулевые значения в данных.

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, который загружается в таблицу данных под именем `Example`.

* Переменная, обрабатывающая значение `NullInterpret`, для которой задано значение `NULL`. Переменная будет интерпретировать все записи с текстом `NULL` как нулевые значения.

* Следующие поля в таблице данных:

  * `Month`

  * `KPI`

  * `Value`

Скрипт загрузки

```
Set NULLINTERPRET = NULL;
Example:
LOAD * inline [
Month, KPI, Value
2024-01-01, Revenue, 5000
2024-02-01, Revenue, NULL
2024-03-01, Revenue, 5500
2024-04-01, Revenue, NULL
2024-01-01, Expenses, 3000
2024-02-01, Expenses, 3100
2024-03-01, Expenses, NULL
2024-04-01, Expenses, 3200
2024-01-01,Customer Count, 200
2024-02-01,Customer Count, 210
2024-03-01,Customer Count, NULL
2024-04-01,Customer Count, NULL
];
```

Примечание к подсказкеЧтобы вернуть для переменной `NullInterpret` значение по умолчанию, включите следующий оператор переменной в конце скрипта загрузки: `Set NULLINTERPRET =;`

Результаты

Загрузите данные и откройте лист. Создайте новую сводную таблицу и добавьте это поле как измерение:

* `KPI`

Создайте следующую меру:

* `=NullCount(Value)`, чтобы вычислить количество отсутствующих значений.

Results table

| KPI | NullCount(Value) |
| --- | --- |
| Customer Count | 2 |
| Expenses | 1 |
| Revenue | 2 |

Результаты показывают, что в наборе данных `5` записей имеют значения `NULL`, а также возвращают категории КПЭ, к которым эти записи относятся.