# EmptyIsNull Skript- och diagramfunktion

EmptyIsNull-funktionen konverterar tomma strängar till NULL. Den returnerar alltså NULL om parametern är en tom sträng. Annars returnerar den parametern.

Syntax:

EmptyIsNull(exp )

Returnerad datatyp: NULL om parametern är en tom sträng, annars returnerar den parametern

Argument

| Argument | Beskrivning |
| --- | --- |
| expr | Det uttryck eller fält som innehåller de data som ska mätas. |

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `EmptyIsNull(AdditionalComments)` | Det här uttrycket returnerar NULL för eventuella tomma strängvärden för fältet `AdditionalComments` istället för tomma strängar. Strängar som inte är tomma och tal returneras. |
| `EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))` | Det här uttrycket tar bort alla streck, blanksteg och parenteser från fältet `PhoneNumber`. Om det inte finns några tecken kvar returnerar funktionen `EmptyIsNull` den tomma strängen som NULL. Ett tomt phone number är ju samma sak som inget phone number. |

## Exempel – grunderna i EmptyIsNull

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

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `CustomerID`

  * `OrderID`

  * `Product`

  * `Status`

  * `PhoneNumber`

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `CustomerID`

* `OrderID`

* `Product`

* `Status`

Skapa följande beräknade dimensioner:

* `=EmptyIsNull(Status)`, för att som NULL returnera alla tomma strängvärden i fältet `Status`.

* `=EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))`, för att ta bort alla streck, blanksteg och parenteser från fältet `PhoneNumber`. Om det inte finns några tecken kvar returnerar funktionen `EmptyIsNull` den tomma strängen som NULL. Ett tomt telefonnummer är ju samma sak som inget telefonnummer.

Anteckning om informationFöljande tabell innehåller tomma celler för att visa hur funktionen `EmptyIsNull` används.

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 |

I kolumnen `Status` ser du att poster med tomma värden visas som tomma celler med en transparent bakgrundsfärg som standard. Utdata från åtgärden `EmptyIsNull(Status)` returnerar NULL för dessa tomma värden, vilket indikeras av strecktecknet (-) med grå cellbakgrund.

Den andra åtgärden använder funktionen `EmptyIsNull` med [PurgeChar Skript- och diagramfunktion](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm) för att ta bort eventuella streck (-), blanksteg och parenteser () från fältet `PhoneNumber` och sedan returnera eventuella återstående tomma strängar som NULL. Cellerna med nullvärden visas nu med ett streck (-) och grå bakgrundsformatering.

## Exempel – Ersätta nullvärden med text och lägga till villkorlig formatering

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

#### Diagramuttryck

Översikt

En försäljningschef vill analysera försäljningsdata och enkelt identifiera de poster som innehåller saknade värden.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `ID`

  * `Name`

  * `Age`

  * `Email`

  * `Sales`

  * `Region`

  * `OrderStatus`

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* `ID`

Skapa följande beräknade dimensioner:

* `=If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age))` att som NULL returnera alla tomma strängvärden i fältet `Age` och sedan identifiera och fylla i alla nollvärden med värdet `NULL` i stället för ett streck (`-`).

* `=If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email))` att som NULL returnera alla tomma strängvärden i fältet `Email` och sedan identifiera och fylla i alla nollvärden med värdet `NULL` i stället för ett streck (`-`).

* `=If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales))` att som NULL returnera alla tomma strängvärden i fältet `Sales` och sedan identifiera och fylla i alla nollvärden med värdet `NULL` i stället för ett streck (`-`).

* `=If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region))` att som NULL returnera alla tomma strängvärden i fältet `Region` och sedan identifiera och fylla i alla nollvärden med värdet `NULL` i stället för ett streck (`-`).

* `=If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus))` att som NULL returnera alla tomma strängvärden i fältet `OrderStatus` och sedan identifiera och fylla i alla nollvärden med värdet `NULL` i stället för ett streck (`-`).

Ställ in villkorlig cellformatering för att ändra bakgrundsfärgen till röd för `NULL`-värden och grön för alla andra värden. I panelen Egenskaper för varje dimension och mätvärde anger du följande uttryck som Bakgrundsfärguttryck:

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

* `Age` (mätvärde): `=If(IsNull(EmptyIsNull(Age)), RGB(255,200,200), RGB(200,255,200))`

* `Email` (mätvärde): `=If(IsNull(EmptyIsNull(Email)), RGB(255,200,200), RGB(200,255,200))`

* `Sales` (mätvärde): `=If(IsNull(EmptyIsNull(Sales)), RGB(255,200,200), RGB(200,255,200))`

* `Region` (mätvärde): `=If(IsNull(EmptyIsNull(Region)), RGB(255,200,200), RGB(200,255,200))`

* `OrderStatus` (mätvärde): `=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 |

Resultatet visar att du enkelt kan identifiera poster med saknade värden genom att använda funktionen `EmptyIsNull` och lägga till villkorlig formatering.