NULL - skript- och diagramfunktion
Null-funktionen returnerar ett null-värde.
Syntax:
Null( )
Returnerad datatyp: NULL
Exempel | Resultat |
---|---|
If(Product = 'A', Null(),Sum(Sales)) | Detta uttryck returnerar NULL för Product A, annars returnerar det summan av försäljningen för produkten. |
Exempel – grunderna i Null
Översikt
En enkel datauppsättning används för att demonstrera de olika användningsområdena för funktionen Null.
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som läses in i en datatabell som heter Example.
Följande fält i datatabellen:
ID
Value
Laddningsskript
Example:
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3,378];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
ID
Value
Skapa följande beräknade dimensioner:
=If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ), för att returnera NULL om fältet Value har något av följande: inget värde, ett streck (-) eller värdet NULL, annars returneras värdet.
=If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F'), för att returnera värdet T (True) eller F (False) beroende på om fältet Value innehåller ett null-värde eller inte.
ID | Value | If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) | If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F') |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 378 | 378 | F |
Kolumnen Value visar de data som har matats in i datauppsättningen. Den första åtgärden (kolumn 3) använder Null-funktionen för att returnera NULL för de värden som uppfyllde villkoren i IF-satsen: len(trim(Value))= 0 or Value='NULL' or Value='-'. Till exempel uppfyllde de första 3 raderna kraven och returnerade NULL. Den sista raden visar det värde som angetts, 378.
Den andra åtgärden (kolumn 4) tar värdet i kolumn 3 och returnerar T om NULL eller F om inte NULL. Resultatet visar att de första 3 raderna är nollvärden.
I detta exempel laddas en inline-tabell med fyra rader, där de tre första raderna innehåller antingen ingenting, ett streck - eller texten NULL i kolumnen Value. Vi omvandlar dessa värden till äkta NULL-värderepresentationer.
Den mellersta som föregår LOAD utför konverteringen med funktionen Null.
Den första föregående LOAD lägger till ett fält som kontrollerar om värdet är NULL, endast som illustration i detta exempel.
NullsDetectedAndConverted:
LOAD *,
If(IsNull(ValueNullConv), 'T', 'F') as IsItNull;
LOAD *,
If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) as ValueNullConv;
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3, 386];
Nedan visas den resulterande tabellen. I kolumnen ValueNullConv representeras NULL-värdena av -.
ID | Value | ValueNullConv | IsItNull |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 386 | 386 | F |
Exempel – utesluta värden med hjälp av Null
Översikt
Försäljningsdata analyseras för att fastställa den totala försäljningen och den försäljning som inte är relaterad till Product A.
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som läses in i en datatabell som heter Example.
Följande fält i datatabellen:
Product
Sales
Laddningsskript
Example:
LOAD * Inline [
Product, Sales
A, 100
B, 150
C, 200
D, 250
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:
Product
Skapa följande mått:
=Sum(Sales), för att beräkna den totala försäljningen.
=If(Product = 'A', Null(),Sum(Sales)), för att beräkna den totala försäljningen för Product inte är A.
Product | Sum(Sales) | If(Product = 'A', Null(),Sum(Sales)) |
---|---|---|
A | 100 | - |
B | 150 | 150 |
C | 200 | 200 |
D | 250 | 250 |
Detta exempel visar ett enkelt sätt att beräkna den totala försäljningen och sedan utesluta försäljningen för en specifik produkt med hjälp av funktionen Null för att ställa in värdet till NULL. I den andra åtgärden returnerade t.ex. alla värden för Product A NULL och uteslöts.