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 )
Typ zwracanych danych: Wartość logiczna
Argument | Opis |
---|---|
expr | Wyrażenie lub pole zawierające mierzone dane. |
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
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
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.
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.
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 -.
ID | Value | ValueNullConv |
IsItNull |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 378 | 378 | F |
Przykład — zastosowanie IsNull
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 karty.
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.
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.