# NULLФункция скрипта и диаграммы

Функция Null возвращает значение null.

Синтаксис:

Null( )

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

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

| Пример | Результат |
| --- | --- |
| `If(Product = 'A', Null(),Sum(Sales))` | Это выражение возвращает `NULL` для `Product A`, в противном случае оно возвращает сумму продаж для продукта. |

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/Null.htm)

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

Обзор

Простой набор данных используется для демонстрации различных вариантов применения функции `Null`.

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

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

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

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

  * `ID`

  * `Value`

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

```
Example:
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3,378];
```

Результаты

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

* `ID`

* `Value`

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

* `=If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )`, чтобы вернуть `NULL`, если поле `Value` не содержит значения, содержит символ тире (-) или значение `NULL`, или в противном случае вернуть значение.

* `=If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F')`, чтобы вернуть значение `T` (true) или `F` (false) в зависимости от того, содержит поле `Value` нулевое значение или нет.

Results table

| ID | Value | If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) | If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F') |
| --- | --- | --- | --- |
| 0 |  | - | T |
| 1 | NULL | - | T |
| 2 | - | - | T |
| 3 | 378 | 378 | F |

В столбце `Value` показаны данные, введенные в набор данных. Первая мера (столбец 3) использует функцию `Null`, чтобы вернуть `NULL` для тех значений, которые удовлетворяют условиям оператора `IF`: `len(trim(Value))= 0 or Value='NULL' or Value='-'`. Например, первые три строки удовлетворяют требованиям и возвращают `NULL`. Последняя строка возвращает введенное значение, `378`.

Вторая мера (столбец 4) принимает значение в столбце 3 и возвращает `T`, если `NULL`, или `F`, если не `NULL`. Результаты показывают, что первые три строки содержат нулевые значения.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/Null.htm)

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

В этом примере загружена встроенная таблица с четырьмя строками, где первые три строки не содержат ничего, содержат - или значение NULL в столбце `Value`. Требуется преобразовать эти значения в настоящие представления значения NULL.

Предшествующий в середине оператор LOAD выполняет преобразование с помощью функции `Null`.

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

```
NullsDetectedAndConverted:
LOAD *,
If(IsNull(ValueNullConv), 'T', 'F') as IsItNull;

LOAD *,
If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) as ValueNullConv;

LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3, 386];
```

Ниже приводится результирующая таблица. В столбце `ValueNullConv` значения `NULL` представлены элементом `-`.

Results table

| ID | Value | ValueNullConv | IsItNull |
| --- | --- | --- | --- |
| 0 |  | - | T |
| 1 | NULL | - | T |
| 2 | - | - | T |
| 3 | 386 | 386 | F |

## Пример. Исключение значений с помощью функции Null

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/Null.htm)

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

Обзор

Данные о продажах анализируются для определения общего объема продаж и тех продаж, которые не относятся к `Product A`.

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

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

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

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

  * `Product`

  * `Sales`

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

```
Example:
LOAD * Inline [
Product, Sales
A, 100
B, 150
C, 200
D, 250
];
```

Результаты

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

* `Product`

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

* `=Sum(Sales)`, чтобы вычислить общий объем продаж.

* `=If(Product = 'A', Null(),Sum(Sales))`, чтобы вычислить общий объем продаж, для которых `Product` не является `A`.

Results table

| Product | Sum(Sales) | If(Product = 'A', Null(),Sum(Sales)) |
| --- | --- | --- |
| A | 100 | - |
| B | 150 | 150 |
| C | 200 | 200 |
| D | 250 | 250 |

В этом примере показан простой способ вычисления общего объема продаж и последующего исключения продаж для определенного продукта с помощью функции `Null`, которая задает значение `NULL`. Например, во второй мере все значения для `Product A` вернули `NULL` и были исключены.