# EmptyIsNull Funzione per script e grafici

La funzione EmptyIsNull converte stringhe vuote in NULL. Pertanto, restituisce NULL se il parametro è una stringa vuota, altrimenti restituisce il parametro.

Sintassi:

EmptyIsNull(exp )

Tipo di dati restituiti: NULL se il parametro è una stringa vuota, altrimenti restituisce il parametro.

Argomenti

| Argomento | Descrizione |
| --- | --- |
| expr | L'espressione o il campo contenente i dati da misurare. |

Esempio: espressioni dei grafici

| Esempio | Risultato |
| --- | --- |
| `EmptyIsNull(AdditionalComments)` | Questa espressione restituirà NULL per qualsiasi valore di stringa vuoto per il campo `AdditionalComments`, al posto delle stringhe vuote. Vengono restituite le stringhe e i numeri non vuoti. |
| `EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))` | Questa espressione rimuoverà qualsiasi trattino, spazio e parentesi dal campo `PhoneNumber`. Se non sono rimasti caratteri, la funzione `EmptyIsNull` restituisce la stringa vuota come NULL; un phone number corrisponde a un valore phone number assente. |

## Esempio: principi fondamentali della funzione EmptyIsNull

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

#### Espressione del grafico

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `CustomerID`

  * `OrderID`

  * `Product`

  * `Status`

  * `PhoneNumber`

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `CustomerID`

* `OrderID`

* `Product`

* `Status`

Creare le seguenti dimensioni calcolate:

* `=EmptyIsNull(Status)`, per restituire come NULL qualsiasi valore di stringa vuoto nel campo `Status`.

* `=EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))`, per rimuovere qualsiasi trattino, spazio e parentesi dal campo `PhoneNumber`. Se non sono rimasti caratteri, la funzione `EmptyIsNull` restituisce la stringa vuota come NULL; un numero di telefono vuoto corrisponde a un numero di telefono assente.

Nota informaticaLa tabella seguente contiene delle celle vuote per dimostrare l'uso della funzione `EmptyIsNull`.

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 |

Nella colonna `Status`, notare che i record con valori vuoti appaiono come celle vuote con un colore di sfondo trasparente predefinito. L'output della misura `EmptyIsNull(Status)` restituisce NULL per questi valori vuoti, come indicato dal carattere trattino (-) con sfondo grigio della cella.

La seconda misura utilizza la funzione `EmptyIsNull` con il campo [PurgeChar Funzione per script e grafici](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm) per rimuovere i trattini (-), gli spazi e le parentesi () dal campo `PhoneNumber` e quindi restituire le stringhe vuote rimanenti come NULL. Le celle con valori null ora appaiono con un trattino (-) e una formattazione con sfondo grigio.

## Esempio: sostituzione di valori nulli con testo e aggiunta di formattazione condizionale

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

#### Espressione del grafico

Panoramica

Un responsabile vendite vuole analizzare i dati delle vendite e identificare facilmente i record che contengono valori mancanti.

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `ID`

  * `Name`

  * `Age`

  * `Email`

  * `Sales`

  * `Region`

  * `OrderStatus`

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:

* `ID`

Creare le seguenti dimensioni calcolate:

* `=If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age))`, per restituire come NULL qualsiasi valore di stringa vuoto nel campo `Age`, e quindi identificare e popolare tutti i valori null con il valore `NULL` anziché con un carattere trattino (`-`).

* `=If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email))`, per restituire come NULL qualsiasi valore di stringa vuoto nel campo `Email`, e quindi identificare e popolare tutti i valori null con il valore `NULL` anziché con un carattere trattino (`-`).

* `=If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales))`, per restituire come NULL qualsiasi valore di stringa vuoto nel campo `Sales`, e quindi identificare e popolare tutti i valori null con il valore `NULL` anziché con un carattere trattino (`-`).

* `=If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region))`, per restituire come NULL qualsiasi valore di stringa vuoto nel campo `Region`, e quindi identificare e popolare tutti i valori null con il valore `NULL` anziché con un carattere trattino (`-`).

* `=If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus))`, per restituire come NULL qualsiasi valore di stringa vuoto nel campo `OrderStatus`, e quindi identificare e popolare tutti i valori null con il valore `NULL` anziché con un carattere trattino (`-`).

Impostare la formattazione condizionale delle celle per cambiare il colore di sfondo in rosso per i valori `NULL` e in verde per tutti gli altri valori. Nel pannello Proprietà per ogni dimensione e misura, inserire le seguenti espressioni come Espressione colore di sfondo.

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

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

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

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

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

* `OrderStatus` (misura): `=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 |

I risultati mostrano che utilizzando la funzione `EmptyIsNull` e aggiungendo la formattazione condizionale, è possibile identificare facilmente i record con valori mancanti.