# EmptyIsNull Skript- und Diagrammfunktion

Die Funktion EmptyIsNull konvertiert leere Zeichenfolgen in NULL. Daher gibt sie NULL zurück, wenn der Parameter eine leere Zeichenfolge ist. Andernfalls gibt sie den Parameter zurück.

Syntax:

EmptyIsNull(exp )

Rückgabe Datentyp: NULL, wenn der Parameter eine leere Zeichenfolge ist. Andernfalls gibt sie den Parameter zurück.

Argumente

| Argument | Beschreibung |
| --- | --- |
| expr | Die Formel oder das Feld mit den Daten, die gemessen werden sollen. |

Beispiel: Diagrammformeln

| Beispiel | Ergebnis |
| --- | --- |
| `EmptyIsNull(AdditionalComments)` | Diese Formel gibt NULL für alle leeren Stringwerte des Felds `AdditionalComments` anstelle von leeren Strings zurück. Es werden nicht-leere Zeichenfolgen und Zahlen zurückgegeben. |
| `EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))` | Diese Formel entfernt alle Bindestriche, Leerzeichen und Klammern aus dem Feld `PhoneNumber`. Wenn keine Zeichen übrig bleiben, gibt die Funktion `EmptyIsNull` den leeren String als NULL zurück; eine leere phone number entspricht keiner phone number. |

## Beispiel – Grundlegendes zu „EmptyIsNull“

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

#### Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `CustomerID`

  * `OrderID`

  * `Product`

  * `Status`

  * `PhoneNumber`

Ladeskript

```
Example:
LOAD * inline [
CustomerID, OrderID, Product, Status, PhoneNumber
1, 1001, Widget,, (0123) 456 789
2, 1002, Gizmo, Open,-
3, 1003, Gadget, Closed,()
4, 1004, Widget,,678-9888
];
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `CustomerID`

* `OrderID`

* `Product`

* `Status`

Erstellen Sie die folgenden dynamischen Dimensionen:

* `=EmptyIsNull(Status)`, um alle leeren Stringwerte im Feld `Status` als NULL zurückzugeben.

* `=EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))`, um alle Bindestriche, Leerzeichen und Klammern aus dem Feld `PhoneNumber` zu entfernen. Wenn keine Zeichen übrig bleiben, gibt die Funktion `EmptyIsNull` den leeren String als NULL zurück; eine leere Telefonnummer entspricht keiner Telefonnummer.

InformationshinweisDie folgende Tabelle enthält leere Zellen, um die Verwendung der Funktion `EmptyIsNull` zu demonstrieren.

Results table

| CustomerID | OrderID | Product | Status | EmptyIsNull(Status) | EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) |
| --- | --- | --- | --- | --- | --- |
| 1 | 1001 | Widget |  | - | 0123456789 |
| 2 | 1002 | Gizmo | Open | Open | - |
| 3 | 1003 | Gadget | Closed | Closed | - |
| 4 | 1004 | Widget |  | - | 6789888 |

In der Spalte `Status` sehen Sie, dass die Datensätze mit leeren Werten als leere Zellen mit einer standardmäßigen transparenten Hintergrundfarbe erscheinen. Die Ausgabe der Kennzahl `EmptyIsNull(Status)` gibt für diese leeren Werte NULL zurück, was durch den Bindestrich (-) mit grauem Zellenhintergrund angezeigt wird.

Die zweite Kennzahl verwendet die Funktion `EmptyIsNull` mit dem [PurgeChar Skript- und Diagrammfunktion](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm), um alle Bindestriche (-), Leerzeichen und Klammern () aus dem Feld `PhoneNumber` zu entfernen und dann alle verbleibenden leeren Strings als NULL zurückzugeben. Die Zellen mit Nullwerten erscheinen jetzt mit einem Bindestrich (-) und grauer Hintergrundformatierung.

## Beispiel – Ersetzen von Nullwerten durch Text und Hinzufügen bedingter Formatierungen

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

#### Diagrammformel

Übersicht

Ein Verkaufsleiter möchte Umsatzdaten analysieren und die Datensätze, die fehlende Werte enthalten, leicht identifizieren.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `ID`

  * `Name`

  * `Age`

  * `Email`

  * `Sales`

  * `Region`

  * `OrderStatus`

Ladeskript

```
Example:
LOAD * inline [
ID,Name, Age, Email, Sales, Region, OrderStatus
1, John Smith, 30, john@email.com, 1000, North, Active
2, Jane Doe, '', jane@email.com, 1500, South, Active
3, Bob Johnson, 45, '', 800, East, Inactive
4, Alice Brown, 28, alice@email.com, '', West, Active
5, Charlie Lee, '', charlie@email.com, 1200, '', Active
6, Eva Green, 35, eva@email.com, 950, North, ''
7, David White, 50, '', '', South, Inactive
8, Fiona Black, 42, fiona@email.com, 1100, East, Active
];
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:

* `ID`

Erstellen Sie die folgenden dynamischen Dimensionen:

* `=If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age))`, um alle leeren Stringwerte im Feld `Age` als NULL zurückzugeben und dann alle Nullwerte zu identifizieren und mit dem Wert `NULL` anstelle eines Bindestrichs (`-`) aufzufüllen.

* `=If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email))`, um alle leeren Stringwerte im Feld `Email` als NULL zurückzugeben und dann alle Nullwerte zu identifizieren und mit dem Wert `NULL` anstelle eines Bindestrichs (`-`) aufzufüllen.

* `=If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales))`, um alle leeren Stringwerte im Feld `Sales` als NULL zurückzugeben und dann alle Nullwerte zu identifizieren und mit dem Wert `NULL` anstelle eines Bindestrichs (`-`) aufzufüllen.

* `=If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region))`, um alle leeren Stringwerte im Feld `Region` als NULL zurückzugeben und dann alle Nullwerte zu identifizieren und mit dem Wert `NULL` anstelle eines Bindestrichs (`-`) aufzufüllen.

* `=If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus))`, um alle leeren Stringwerte im Feld `OrderStatus` als NULL zurückzugeben und dann alle Nullwerte zu identifizieren und mit dem Wert `NULL` anstelle eines Bindestrichs (`-`) aufzufüllen.

Legen Sie die bedingte Zellformatierung so fest, dass die Hintergrundfarbe für `NULL`-Werte rot und für alle anderen Werte grün ist. Geben Sie im Fenster Eigenschaften für jede Dimension und Kennzahl die folgende Formel als Formel für die Hintergrundfarbe ein:

* `ID` (Dimension): `=RGB(200,255,200)`

* `Age` (Kennzahl): `=If(IsNull(EmptyIsNull(Age)), RGB(255,200,200), RGB(200,255,200))`

* `Email` (Kennzahl): `=If(IsNull(EmptyIsNull(Email)), RGB(255,200,200), RGB(200,255,200))`

* `Sales` (Kennzahl): `=If(IsNull(EmptyIsNull(Sales)), RGB(255,200,200), RGB(200,255,200))`

* `Region` (Kennzahl): `=If(IsNull(EmptyIsNull(Region)), RGB(255,200,200), RGB(200,255,200))`

* `OrderStatus` (Kennzahl): `=If(IsNull(EmptyIsNull(OrderStatus)), RGB(255,200,200), RGB(200,255,200))`

Results table

| ID | If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age)) | If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email)) | If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales)) | If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region)) | If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus)) |
| --- | --- | --- | --- | --- | --- |
| 1 | 30 | john@email.com | 1000 | North | Active |
| 2 | NULL | jane@email.com | 1500 | South | Active |
| 3 | 45 | NULL | 800 | East | Inactive |
| 4 | 28 | alice@email.com | NULL | West | Active |
| 5 | NULL | charlie@email.com | 1200 | NULL | Active |
| 6 | 35 | eva@email.com | 950 | North | NULL |
| 7 | 50 | NULL | NULL | South | Inactive |
| 8 | 42 | fiona@email.com | 1100 | East | Active |

Die Ergebnisse zeigen, dass Sie mit der Funktion `EmptyIsNull` und dem Hinzufügen von bedingter Formatierung leicht Datensätze mit fehlenden Werten identifizieren können.