# IsNull funkcja skryptu i funkcja wykresu

Funkcja IsNull sprawdza, czy wyrażenie ma wartość NULL i w takim wypadku zwraca wartość -1 (True). W przeciwnym razie zwracana jest wartość 0 (False).

Składnia:

IsNull(expr )

InformacjaCiąg znaków o zerowej długości nie jest uznawany za NULL i spowoduje zwrócenie przez funkcję IsNull wartości False.

Typ zwracanych danych: Logiczna

Argumenty

| Argument | Opis |
| --- | --- |
| expr | Wyrażenie lub pole zawierające mierzone dane. |

Przykład: wyrażenie wykresu

| Przykład | Wynik |
| --- | --- |
| `IsNull(Productname)` | Zwraca `-1` (prawda), jeśli `ProductName` jest wartością null, w przeciwnym razie `0` (fałsz). |

## Przykład — podstawy IsNull

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

#### Wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `ID`

  * `Value`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `ID`

* `Value`

Utwórz następujące wymiary wyliczane:

* `=If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )` w celu zwrócenia `NULL` jeśli pole `Value` nie ma wartości, znaku myślnika (-) lub wartości `NULL`, w przeciwnym razie zwrócenia wartości.

* `=If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F')` w celu zwrócenia wartości `T` (prawda) lub `F` (fałsz) w zależności od tego, czy pole `Value` zawiera wartość null, czy nie.

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 |

Kolumna `Value` pokazuje dane wprowadzone do zbioru danych. Pierwsza miara (kolumna 3) zwraca `NULL` dla pierwszych 3 wierszy, których wartość spełniała warunki instrukcji `IF`: `len(trim(Value))= 0 or Value='NULL' or Value='-'`. Ostatni wiersz zwraca wprowadzoną wartość, `378`.

Druga miara (kolumna 4) przyjmuje wartość wyrażenia z kolumny 3 i zwraca `T`, jeśli `NULL`, lub `F`, jeśli nie `NULL`. Wyniki pokazują, że pierwsze 3 wiersze to wartości null.

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

#### Skrypt ładowania

W tym przykładzie ładowana jest tabela wbudowana z czterema wierszami, w której pierwsze trzy linie nie zawierają nic albo zawierają myślnik - bądź tekst NULL w kolumnie `Value`. Przekształcamy te wartości na rzeczywiste reprezentacje wartości NULL przy użyciu środkowej wartości poprzedzającej instrukcję LOAD, za pomocą funkcji Null.

Pierwsza wartość poprzedzająca instrukcję LOAD dodaje pole sprawdzające, czy jest to wartość NULL, przy użyciu funkcji IsNull.

```
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, 378];
```

Poniżej przedstawiono tabelę wynikową. W kolumnie `ValueNullConv` wartości `NULL` są reprezentowane przez `-`.

Results table

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

## Przykład — zastosowanie IsNull

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

#### Wyrażenie wykresu

Przegląd

Zbiór danych sprzedaży jest analizowany w celu sprawdzenia, które pola mają wartości null.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Zmienna `NULLINTERPRET` ustawiona na `NULL`.

* Tabela zawiera następujące pola:

  * `SalesID`

  * `Name`

  * `Age`

  * `Email`

  * `Region`

  * `Status`

Skrypt ładowania

```
Set NULLINTERPRET = NULL;
Example:
LOAD * Inline [
SalesID, Name, Age, Email, Region, Status
1, John Smith, 30, john@email.com, North, Active
2, Jane Doe, NULL, jane@email.com, South, Active
3, Bob Johnson, 45, NULL, East, Inactive
4, Alice Brown, 28, alice@email.com, West, Active
5, Charlie Lee, NULL, charlie@email.com, NULL, Active
6, Eva Green, 35, eva@email.com, North, NULL
7, David White, 50, NULL, South, Inactive
8, Fiona Black, 42, fiona@email.com, East, Active
];
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `SalesID`

* `Name`

Utwórz następujące wymiary wyliczane:

* `=If(IsNull(Age), 'Age unavailable', Age)`, aby wypełnić pole `Age` wartością `Age unavailable`, jeśli jest to `NULL`.

* `=If(IsNull(Email), 'Email unavailable', Email)`, aby wypełnić pole `Email` wartością `Email unavailable`, jeśli jest to `NULL`.

* `=If(IsNull(Region), 'Region unavailable', Region)`, aby wypełnić pole `Region` wartością `Region unavailable`, jeśli jest to `NULL`.

Results table

| SalesID | Name | If(IsNull(Age), 'Age unavailable', Age | If(IsNull(Email), 'Email unavailable', Email) | If(IsNull(Region), 'Region unavailable', Region) |
| --- | --- | --- | --- | --- |
| 1 | John Smith | 30 | john@email.com | North |
| 2 | Jane Doe | Age unavailable | jane@email.com | South |
| 3 | Bob Johnson | 45 | Email unavailable | East |
| 4 | Alice Brown | 28 | alice@email.com | West |
| 5 | Charlie Lee | Age unavailable | charlie@email.com | Region unavailable |
| 6 | Eva Green | 35 | eva@email.com | North |
| 7 | David White | 50 | Email unavailable | South |
| 8 | Fiona Black | 42 | fiona@email.com | East |

Wyniki funkcji `IsNull`, która sprawdza i zwraca wartość prawda w przypadku znalezienia wartości null, wskazują, że kilka pól w zbiorze danych zawiera wartości null. Na przykład wartość null została zidentyfikowana w kolumnie `Age` dla `Charlie Lee` i został zwrócony wynik `Age unavailable`.