EmptyIsNull — funkcja skryptu i funkcja wykresu
Funkcja EmptyIsNull konwertuje puste ciągi na NULL. W związku z tym zwraca NULL, jeśli parametr jest pustym ciągiem. W przeciwnym razie zwraca parametr.
Składnia:
EmptyIsNull(exp )
Typ zwracanych danych: NULL, jeśli parametr jest pustym ciągiem. W przeciwnym razie zwraca parametr.
Argument | Opis |
---|---|
expr | Wyrażenie lub pole zawierające mierzone dane. |
Przykład | Wynik |
---|---|
EmptyIsNull(AdditionalComments) |
To wyrażenie zwróci NULL w przypadku wszystkich pustych wartości ciągu pola AdditionalComments zamiast pustych ciągów. Zwracane są niepuste ciągi i liczby. |
EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) |
To wyrażenie usunie wszelkie myślniki, spacje i nawiasy z pola PhoneNumber. Jeśli nie pozostaną już żadne znaki, funkcja EmptyIsNull zwraca pusty ciąg jako NULL. Pusty phone number jest tym samym co brakujący phone number. |
Przykład — podstawy EmptyIsNull
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:
-
CustomerID
-
OrderID
-
Product
-
Status
-
PhoneNumber
-
Skrypt ładowania
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
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
-
CustomerID
-
OrderID
-
Product
-
Status
Utwórz następujące wymiary wyliczane:
-
=EmptyIsNull(Status) w celu zwrócenia jako NULL wszelkich wartości pustych ciągów znaków w polu Status.
-
=EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) w celu usunięcia wszelkich myślników, spacji i nawiasów z pola PhoneNumber. Jeśli nie pozostaną już żadne znaki, funkcja EmptyIsNull zwraca pusty ciąg jako NULL. Pusty numer telefonu jest tym samym co brak numeru telefonu.
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 |
W kolumnie Status można zauważyć, że rekordy z pustymi wartościami są wyświetlane jako puste komórki z domyślnym przezroczystym kolorem tła. Dane wyjściowe miary EmptyIsNull(Status) zwracają NULL dla tych pustych wartości, na co wskazuje znak myślnika (-) na szarym tle komórki.
Druga miara używa funkcji EmptyIsNull z PurgeChar — funkcja skryptu i funkcja wykresu, aby usunąć wszelkie myślniki (-), spacje i nawiasy () z pola PhoneNumber, a następnie zwrócić wszelkie pozostałe puste ciągi jako NULL. Komórki z wartościami zerowymi są teraz wyświetlane z myślnikiem (-) i szarym tłem formatowania.
Przykład — zastąpienie wartości null tekstem i dodanie formatowania warunkowego
Przegląd
Menedżer sprzedaży chce analizować dane sprzedaży i łatwo identyfikować rekordy zawierające brakujące wartości.
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
-
Name
-
Age
-
Email
-
Sales
-
Region
-
OrderStatus
-
Skrypt ładowania
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
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
-
ID
Utwórz następujące wymiary wyliczane:
-
=If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age)) w celu zwrócenia jako NULL wszelkich wartości pustego ciągu w polu Age, a następnie zidentyfikowania i wypełnienia wszystkich wartości null wartością NULL zamiast znaku myślnika (-).
-
=If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email)) w celu zwrócenia jako NULL wszelkich wartości pustego ciągu w polu Email, a następnie zidentyfikowania i wypełnienia wszystkich wartości null wartością NULL zamiast znaku myślnika (-).
-
=If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales)) w celu zwrócenia jako NULL wszelkich wartości pustego ciągu w polu Sales, a następnie zidentyfikowania i wypełnienia wszystkich wartości null wartością NULL zamiast znaku myślnika (-).
-
=If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region)) w celu zwrócenia jako NULL wszelkich wartości pustego ciągu w polu Region, a następnie zidentyfikowania i wypełnienia wszystkich wartości null wartością NULL zamiast znaku myślnika (-).
-
=If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus)) w celu zwrócenia jako NULL wszelkich wartości pustego ciągu w polu OrderStatus, a następnie zidentyfikowania i wypełnienia wszystkich wartości null wartością NULL zamiast znaku myślnika (-).
Ustaw formatowanie warunkowe komórek, aby zmienić kolor tła na czerwony dla wartości NULL i zielony dla wszystkich innych wartości. W panelu Właściwości każdego wymiaru i miary wprowadź następujące wyrażenie jako Wyrażenie koloru tła:
-
ID (wymiar): =RGB(200,255,200)
-
Age (miara): =If(IsNull(EmptyIsNull(Age)), RGB(255,200,200), RGB(200,255,200))
-
Email (miara): =If(IsNull(EmptyIsNull(Email)), RGB(255,200,200), RGB(200,255,200))
-
Sales (miara): =If(IsNull(EmptyIsNull(Sales)), RGB(255,200,200), RGB(200,255,200))
-
Region (miara): =If(IsNull(EmptyIsNull(Region)), RGB(255,200,200), RGB(200,255,200))
-
OrderStatus (miara): =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 |
Wyniki pokazują, że korzystając z funkcji EmptyIsNull i dodając formatowanie warunkowe, można łatwo zidentyfikować rekordy z brakującymi wartościami.