Logiska funktioner
I den här artikeln beskrivs logiska funktioner och deras användning i Tableau. Den visar också hur du skapar en logisk beräkning med hjälp av ett exempel.
Med logiska beräkningar kan du avgöra om ett visst villkor är sant eller falskt (boolesk logik). Till exempel kanske du vill kategorisera värden baserat på vissa brytpunkter.
En logisk beräkning kan se ut ungefär så här:
IF [Profit] > 0
THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Break even'
ELSE 'Loss'
END
Syntax | <expr1> AND <expr2> |
Definition | Utför en logisk konjunktion av två uttryck. (Om båda sidor är sanna returnerar det logiska testet sant.) |
Utdata | Boolesk (sant eller falskt) |
Exempel | IF [Season] = "Spring" AND "[Season] = "Fall" ”Om både (Season = Spring) och (Season = Fall) är sanna samtidigt returneras It's the apocalypse and footwear doesn't matter.” |
Obs! | Används ofta med IF och IIF. Se även NOT och OR. Om båda uttrycken är Om du skapar en beräkning där resultatet av en Obs! Med |
Syntax | CASE <expression>
|
Utdata | Beror på datatypen för <then> -värdena. |
Definition | Utvärderar |
Exempel |
”Titta på fältet Season. Om värdet är Summer returneras Sandals. Om värdet är Winter returneras Boots. Om inget av alternativen i beräkningen matchar det som finns i fältet Season returneras Sneakers.” |
Obs! | Används med WHEN, THEN, ELSE och END. Tips: Många gånger kan du använda en grupp för att få samma resultat som en komplicerad CASE-funktion eller använda CASE för att ersätta den inbyggda grupperingsfunktionen, som i föregående exempel. Det kan vara en bra idé att testa vilket som fungerar bäst i ditt fall. |
Syntax | CASE <expression>
|
Definition | En valfri del av ett IF - eller CASE -uttryck som används för att ange ett standardvärde som returneras om inga av de testade uttrycken är sanna. |
Exempel | IF [Season] = "Summer" THEN 'Sandals' CASE [Season] |
Obs! | Används med CASE, WHEN, IF, ELSEIF, THEN och END
|
Syntax | [ELSEIF <test2> THEN <then2>] |
Definition | En valfri del av ett IF -uttryck som används för att ange ytterligare villkor utöver den ursprungliga IF-satsen. |
Exempel | IF [Season] = "Summer" THEN 'Sandals' |
Obs! | Används med IF, THEN, ELSE och END
Till skillnad från |
Definition | Används för att stänga ett IF - eller CASE -uttryck. |
Exempel | IF [Season] = "Summer" THEN 'Sandals' ”Om Season = Summer returneras Sandals. Om inte, titta på nästa uttryck. Om Season = Winter returneras Boots. Om inget av uttrycken är sant returneras Sneakers.” CASE [Season] ”Titta på fältet Season. Om värdet är Summer returneras Sandals. Om värdet är Winter returneras Boots. Om inget av alternativen i beräkningen matchar det som finns i fältet Season returneras Sneakers.” |
Obs! |
Syntax | IF <test1> THEN <then1> |
Utdata | Beror på datatypen för <then> -värdena. |
Definition | Testar en serie med uttryck och returnerar värdet |
Exempel | IF [Season] = "Summer" THEN 'Sandals' ”Om Season = Summer returneras Sandals. Om inte, titta på nästa uttryck. Om Season = Winter returneras Boots. Om inget av uttrycken är sant returneras Sneakers.” |
Obs! |
Syntax | IFNULL(expr1, expr2) |
Utdata | Beror på datatypen för <expr> -värdena. |
Definition | Returnerar |
Exempel | IFNULL([Assigned Room], "TBD") ”Om fältet Assigned Room inte är null returneras dess värde. Om fältet Assigned Room är null returneras TBD istället.” |
Obs! | Jämför med ISNULL. Se även ZN. |
Syntax | IIF(<test>, <then>, <else>, [<unknown>]) |
Utdata | Beror på datatypen för värdena i uttrycket. |
Definition | Kontrollerar om ett villkor uppfylls (<test> ) och returnerar <then> om testet är sant, <else> om testet är falskt och ett valfritt värde för <unknown> om testet är null. Om det valfria okända värdet inte anges returnerar IIF null. |
Exempel | IIF([Season] = 'Summer', 'Sandals', 'Other footwear') ”Om Season = Summer returneras Sandals. Om inte returneras Other footwear.” IIF([Season] = 'Summer', 'Sandals', ”Om Season = Summer returneras Sandals. Om inte, titta på nästa uttryck. Om Season = Winter returneras Boots. Om inget av uttrycken är sant returneras Sneakers.” IIF('Season' = 'Summer', 'Sandals', ”Om Season = Summer returneras Sandals. Om inte, titta på nästa uttryck. Om Season = Winter returneras Boots. Om inget av uttrycken är sant returneras Sneakers.” |
Obs! |
I beräkningen nedan blir resultatet alltså Red, inte Orange, eftersom uttrycket slutar utvärderas så snart A = A utvärderas som sant:
|
Syntax | <expr1> IN <expr2> |
Utdata | Boolesk (sant eller falskt) |
Definition | Returnerar TRUE om något värde i <expr1> matchar något värde i <expr2> . |
Exempel | SUM([Cost]) IN (1000, 15, 200) ”Är värdet i fältet Cost 1 000, 15 eller 200?” [Field] IN [Set] ”Finns fältets värde i uppsättningen?” |
Obs! | Värdena i Se även WHEN. |
ISDATE
Syntax | ISDATE(string) |
Utdata | Boolesk (sant eller falskt) |
Definition | Returnerar sant om en <string> är ett giltigt datum. Det inmatade uttrycket måste vara ett strängfält (text). |
Exempel | ISDATE("2018-09-22") ”Är strängen 2018-09-22 ett korrekt formaterat datum?” |
Obs! | Vad som anses vara ett giltigt datum beror på i vilken språkzon(Länken öppnas i ett nytt fönster) som systemet som utvärderar beräkningen finns. Exempel: I USA:
I Storbritannien:
|
Syntax | ISNULL(expression) |
Utdata | Boolesk (sant eller falskt) |
Definition | Returnerar sant om |
Exempel | ISNULL([Assigned Room]) ”Är fältet Assigned Room null?” |
Obs! | Jämför med IFNULL. Se även ZN. |
Syntax | MAX(expression) eller MAX(expr1, expr2) |
Utdata | Samma datatyp som argumentet, eller NULL om någon del av argumentet är null. |
Definition | Returnerar det största värdet för de två argumenten, som måste vara av samma datatyp.
|
Exempel | MAX(4,7) = 7 |
Obs! | För strängar
För datakällor i databaser är strängvärdet För datum För datum är Som en aggregering
Som en jämförelse
Se även |
Syntax | MIN(expression) eller MIN(expr1, expr2) |
Utdata | Samma datatyp som argumentet, eller NULL om någon del av argumentet är null. |
Definition | Returnerar det minsta värdet för de två argumenten, som måste vara av samma datatyp.
|
Exempel | MIN(4,7) = 4 |
Obs! | För strängar
För datakällor i databaser är strängvärdet För datum För datum är Som en aggregering
Som en jämförelse
Se även |
Syntax | NOT <expression> |
Utdata | Boolesk (sant eller falskt) |
Definition | Utför logisk negation på ett uttryck. |
Exempel | IF NOT [Season] = "Summer" ”Om Season inte är lika med Summer returneras Don't wear sandals. Om inte returneras Wear sandals.” |
Obs! |
Syntax | <expr1> OR <expr2> |
Utdata | Boolesk (sant eller falskt) |
Definition | Utför en logisk disjunktion av två uttryck. |
Exempel | IF [Season] = "Spring" OR [Season] = "Fall" ”Om antingen (Season = Spring) eller (Season = Fall) är sant returneras Sneakers.” |
Obs! | Används ofta med IF och IIF. Se även AND och NOT. Om något av uttrycken är Om du skapar en beräkning som visar resultatet av en Obs! Med |
Syntax | IF <test1> THEN <then1>
|
Definition | En nödvändig del av ett IF -, ELSEIF - eller CASE -uttryck, som används för att definiera vilket resultat som ska returneras om ett specifikt värde eller test är sant. |
Exempel | IF [Season] = "Summer" THEN 'Sandals' ”Om Season = Summer returneras Sandals. Om inte, titta på nästa uttryck. Om Season = Winter returneras Boots. Om inget av uttrycken är sant returneras Sneakers.” CASE [Season] ”Titta på fältet Season. Om värdet är Summer returneras Sandals. Om värdet är Winter returneras Boots. Om inget av alternativen i beräkningen matchar det som finns i fältet Season returneras Sneakers.” |
Obs! |
Syntax | CASE <expression>
|
Definition | En nödvändig del av ett CASE -uttryck. Hittar det första <value> som matchar <expression> och returnerar motsvarande <then> . |
Exempel | CASE [Season] ”Titta på fältet Season. Om värdet är Summer returneras Sandals. Om värdet är Winter returneras Boots. Om inget av alternativen i beräkningen matchar det som finns i fältet Season returneras Sneakers.” |
Obs! | Används med CASE, THEN, ELSE och END.
CASE <expression> Värdena som |
Syntax | ZN(expression) |
Utdata | Beror på datatypen för <expression> , eller 0. |
Definition | Returnerar <expression> om det inte är null. Annars returneras noll. |
Exempel | ZN([Test Grade]) ”Om Test Grade inte är null returneras dess värde. Om Test Grade är null returneras 0.” |
Obs! |
Se även ISNULL. |
Obs! Några av dessa är faktiskt logiska operatorer och visas i svart, inte blått. Mer information finns i Operatorsyntax.
Följ stegen nedan för att lära dig skapa en logisk beräkning.
- I Tableau Desktop ansluter du till den sparade datakällan Urval - Superstore, som ingår i Tableau.
- Navigera till ett arbetsblad.
- Från rutan Data drar du Stattill hyllan Rader.
- Från rutan Data drar du Kategori till hyllan Rader och placerar det till höger om Stat.
- Från rutan Data drar du Försäljning till hyllan Kolumner.
- Välj Analys > Skapa beräknat fält.
- Gör följande i den beräkningsredigerare som visas:
- Ge det beräknade fältet namnet KPI.
- Ange följande formel:
SUM([Profit]) > 0
Den här beräkningen kontrollerar snabbt om ett nummer är större än noll. Om så är fallet returneras värdet sant, om inte returneras värdet falskt.
- Klicka på OK när du är klar.
- Från rutan Data drar du KPI till Färg på kortet Markeringar.
Nu kan du se vilka kategorier som förlorar pengar i varje stat.
Det nya beräknade fältet visas under Mätvärden i fönstret Data. Precis som med de andra fälten kan du använda detta i en eller flera visualiseringar.
Se även
Visualisera viktiga förloppsindikatorer