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.
Argument | Beschreibung |
---|---|
expr | Die Formel oder das Feld mit den Daten, die gemessen werden sollen. |
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 Strings 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“
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte 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.
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, 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
Ü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 eine neue Registerkarte 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))
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.