Logische functies
Dit artikel introduceert logische functies en hun gebruik in Tableau. Het laat ook zien hoe u een logische berekening kunt maken aan de hand van een voorbeeld.
Met logische berekeningen kunt u bepalen of een bepaalde voorwaarde waar of onwaar is (Booleaanse logica). U wilt bijvoorbeeld waarden indelen op basis van bepaalde grenswaarden.
Een logische berekening zou er ongeveer als volgt uitzien:
IF [Profit] > 0
THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Break even'
ELSE 'Loss'
END
Syntaxis | <expr1> AND <expr2> |
Definitie | Voert een logische conjunctie uit op twee expressies. (Als beide zijden waar zijn, retourneert de logische test 'true'.) |
Uitvoer | Booleaans (waar of onwaar) |
Voorbeeld | IF [Season] = "Spring" AND "[Season] = "Fall" ’Als zowel (Season = Spring) als (Season = Fall) tegelijkertijd waar zijn, retourneer dan It's the apocalypse and footwear doesn't matter'. |
Opmerkingen | Vaak gebruikt met IF en IIF. Zie ook NOT en OR. Als beide expressies Als u een berekening maakt waarin het resultaat van een Opmerking: de operator |
Syntaxis | CASE <expression>
|
Uitvoer | Hangt af van datatype van de <then> -waarden. |
Definitie | Evalueert de |
Voorbeeld |
'Kijk naar het veld Season. Als de waarde Summer is, retourneer dan Sandals. Als de waarde Winter is, retourneer dan Boots. Als geen van de opties in de berekening overeenkomt met wat er in het veld Season staat, retourneer dan Sneakers'. |
Opmerkingen | Gebruikt met WHEN, THEN, ELSE en END. Tip: vaak kunt u een groep gebruiken om dezelfde resultaten te krijgen als een ingewikkelde CASE-functie, of CASE gebruiken om de oorspronkelijke functie Groepering te vervangen, zoals in het vorige voorbeeld. Misschien wilt u testen welke optie het beste presteert voor uw scenario. |
Syntaxis | CASE <expression>
|
Definitie | Een optioneel onderdeel van een IF - of CASE -expressie die wordt gebruikt om een standaardwaarde op te geven die moet worden geretourneerd als geen van de geteste expressies waar is. |
Voorbeeld | IF [Season] = "Summer" THEN 'Sandals' CASE [Season] |
Opmerkingen | Gebruikt met CASE, WHEN, IF, ELSEIF, THEN en END
|
Syntaxis | [ELSEIF <test2> THEN <then2>] |
Definitie | Een optioneel onderdeel van een IF -expressie die wordt gebruikt om aanvullende voorwaarden te specificeren naast de initiële IF. |
Voorbeeld | IF [Season] = "Summer" THEN 'Sandals' |
Opmerkingen | Gebruikt met IF, THEN, ELSE en END
Anders dan |
Definitie | Wordt gebruikt om een IF - of CASE -expressie af te sluiten. |
Voorbeeld | IF [Season] = "Summer" THEN 'Sandals' ‘Als Season = Summer, retourneer dan Sandals. Zo niet, kijk dan naar de volgende expressie. Als Season = Winter, retourneer dan Boots. Als geen van beide expressies waar is, retourneer dan Sneakers'. CASE [Season] 'Kijk naar het veld Season. Als de waarde Summer is, retourneer dan Sandals. Als de waarde Winter is, retourneer dan Boots. Als geen van de opties in de berekening overeenkomt met wat er in het veld Season staat, retourneer dan Sneakers'. |
Opmerkingen |
Syntaxis | IF <test1> THEN <then1> |
Uitvoer | Hangt af van datatype van de <then> -waarden. |
Definitie | Test een reeks expressies en retourneert de waarde |
Voorbeeld | IF [Season] = "Summer" THEN 'Sandals' ‘Als Season = Summer, retourneer dan Sandals. Zo niet, kijk dan naar de volgende expressie. Als Season = Winter, retourneer dan Boots. Als geen van beide expressies waar is, retourneer dan Sneakers'. |
Opmerkingen |
Syntaxis | IFNULL(expr1, expr2) |
Uitvoer | Hangt af van het datatype van de <expr> -waarden. |
Definitie | Retourneert |
Voorbeeld | IFNULL([Assigned Room], "TBD") ’Als het veld Assigned Room niet null is, wordt de waarde ervan geretourneerd. Als het veld Assigned Room null is, wordt in plaats daarvan TBD geretourneerd'. |
Opmerkingen | Vergelijk met ISNULL. Zie ook ZN. |
Syntaxis | IIF(<test>, <then>, <else>, [<unknown>]) |
Uitvoer | Hangt af van het datatype van de waarden in de expressie. |
Definitie | Controleert of aan een voorwaarde is voldaan (<test> ), en retourneert <then> als de test waar is, <else> als de test niet waar is, en een optionele waarde voor <unknown> als de test null is. Als de optionele onbekende niet is opgegeven, retourneert IIF null. |
Voorbeeld | IIF([Season] = 'Summer', 'Sandals', 'Other footwear') ‘Als Season = Summer, retourneer dan Sandals. Zo niet, retourneer dan Other footwear’ IIF([Season] = 'Summer', 'Sandals', ‘Als Season = Summer, retourneer dan Sandals. Zo niet, kijk dan naar de volgende expressie. Als Season = Winter, retourneer dan Boots. Als geen van beide waar is, retourneer dan Sneakers’. IIF('Season' = 'Summer', 'Sandals', ‘Als Season = Summer, retourneer dan Sandals. Zo niet, kijk dan naar de volgende expressie. Als Season = Winter, retourneer dan Boots. Als geen van de expressies waar is, retourneer dan Sneakers’. |
Opmerkingen |
Dat wil zeggen dat in de onderstaande berekening het resultaat Rood zal zijn en niet Oranje, omdat de expressie niet meer wordt geëvalueerd zodra A=A als ‘waar’ wordt geëvalueerd:
|
Syntaxis | <expr1> IN <expr2> |
Uitvoer | Booleaans (waar of onwaar) |
Definitie | Retourneert TRUE als enige waarde in <expr1> overeenkomt met enige waarde in <expr2> . |
Voorbeeld | SUM([Cost]) IN (1000, 15, 200) ‘Is de waarde van het veld Cost 1.000, 15, or 200?’ [Field] IN [Set] ‘Is de waarde van het veld aanwezig in de set?’ |
Opmerkingen | De waarden in Zie ook WHEN. |
ISDATE
Syntaxis | ISDATE(string) |
Uitvoer | Booleaans (waar of onwaar) |
Definitie | Retourneert waar als een <string> een geldige datum is. De invoerexpressie moet een tekenreeks (tekst-)veld zijn. |
Voorbeeld | ISDATE("2018-09-22") ’Is de tekenreeks 2018-09-22 een correct ingedeelde datum?’ |
Opmerkingen | Wat als geldige datum wordt beschouwd, hangt af van de landinstelling(Link wordt in een nieuw venster geopend) van het systeem dat de berekening evalueert. Bijvoorbeeld: In de VS:
In het VK:
|
Syntaxis | ISNULL(expression) |
Uitvoer | Booleaans (waar of onwaar) |
Definitie | Retourneert waar als de |
Voorbeeld | ISNULL([Assigned Room]) ’Is het veld Assigned Room null?’ |
Opmerkingen | Vergelijk met IFNULL. Zie ook ZN. |
Syntaxis | MAX(expression) of MAX(expr1, expr2) |
Uitvoer | Hetzelfde datatype als het argument, of NULL als een deel van het argument nul is. |
Definitie | Retourneert het maximum van de twee argumenten. Deze moeten van hetzelfde datatype zijn.
|
Voorbeeld | MAX(4,7) = 7 |
Opmerkingen | Voor tekenreeksen
Bij databasedatabronnen is de tekenreekswaarde Voor datums Voor datums is Als een aggregatie
Ter vergelijking
Zie ook |
Syntaxis | MIN(expression) of MIN(expr1, expr2) |
Uitvoer | Hetzelfde datatype als het argument, of NULL als een deel van het argument nul is. |
Definitie | Retourneert het minimum van de twee argumenten, die van hetzelfde datatype moeten zijn.
|
Voorbeeld | MIN(4,7) = 4 |
Opmerkingen | Voor tekenreeksen
Bij databasedatabronnen is de tekenreekswaarde Voor datums Voor datums is Als een aggregatie
Ter vergelijking
Zie ook |
Syntaxis | NOT <expression> |
Uitvoer | Booleaans (waar of onwaar) |
Definitie | Voert een logische ontkenning uit op een expressie. |
Voorbeeld | IF NOT [Season] = "Summer" ‘Als het seizoen niet gelijk is aan Summer, retourneer dan Don't wear sandals. Zo niet, retourneer dan Wear sandals.’ |
Opmerkingen |
Syntaxis | <expr1> OR <expr2> |
Uitvoer | Booleaans (waar of onwaar) |
Definitie | Voert een logische ontkoppeling uit op twee expressies. |
Voorbeeld | IF [Season] = "Spring" OR [Season] = "Fall" ‘Als (Season = Spring) of (Season = Fall) waar is, retourneer dan Sneakers.’ |
Opmerkingen | Vaak gebruikt met IF en IIF. Zie ook AND en NOT. Als een van beide expressies Als u een berekening maakt die het resultaat van een Opmerking: de operator |
Syntaxis | IF <test1> THEN <then1>
|
Definitie | Een vereist onderdeel van een IF -, ELSEIF - of CASE -expressie, die wordt gebruikt om te definiëren welk resultaat moet worden geretourneerd als een specifieke waarde of test waar is. |
Voorbeeld | IF [Season] = "Summer" THEN 'Sandals' ‘Als Season = Summer, retourneer dan Sandals. Zo niet, kijk dan naar de volgende expressie. Als Season = Winter, retourneer dan Boots. Als geen van beide expressies waar is, retourneer dan Sneakers'. CASE [Season] 'Kijk naar het veld Season. Als de waarde Summer is, retourneer dan Sandals. Als de waarde Winter is, retourneer dan Boots. Als geen van de opties in de berekening overeenkomt met wat er in het veld Season staat, retourneer dan Sneakers'. |
Opmerkingen |
Syntaxis | CASE <expression>
|
Definitie | Een vereist onderdeel van een CASE -expressie. Vindt de eerste <value> die overeenkomt met <expression> en retourneert de overeenkomende <then> . |
Voorbeeld | CASE [Season] 'Kijk naar het veld Season. Als de waarde Summer is, retourneer dan Sandals. Als de waarde Winter is, retourneer dan Boots. Als geen van de opties in de berekening overeenkomt met wat er in het veld Season staat, retourneer dan Sneakers'. |
Opmerkingen | Gebruikt met CASE, THEN, ELSE en END.
CASE <expression> De waarden die |
Syntaxis | ZN(expression) |
Uitvoer | Hangt af van het datatype van de <expression> of 0. |
Definitie | Retourneert <expression> als deze niet null is, anders wordt nul geretourneerd. |
Voorbeeld | ZN([Test Grade]) ‘Als het toetscijfer niet null is, retourneer dan de waarde ervan. Als het toetscijfer nul is, retourneer dan 0.’ |
Opmerkingen |
Zie ook ISNULL. |
Opmerking: sommige hiervan zijn in feite logische operators en worden in het zwart weergegeven, niet in het blauw. Zie Syntaxis van operators voor meer informatie.
Volg de onderstaande stappen om te leren hoe u een logische berekening maakt.
- Maak in Tableau Desktop verbinding met de opgeslagen databron Voorbeeld - Superstore, die bij Tableau wordt geleverd.
- Navigeer naar een werkblad.
- Sleep State vanuit het deelvenster Data naar de container Rijen.
- Sleep Categorie vanuit het deelvenster Data naar de container Rijen en plaats het rechts van State.
- Sleep Sales vanuit het deelvenster Data naar de container Kolommen.
- Selecteer Analyse > Berekend veld maken.
- Doe het volgende in de berekeningseditor die wordt geopend:
- Geef het berekende veld de naam KPI.
- Voer de volgende formule in:
SUM([Profit]) > 0
Met deze berekening kunt u snel controleren of een lid groter is dan nul. Als dat zo is, wordt true geretourneerd. Als dat niet zo is, wordt false geretourneerd.
- Klik op OK als u klaar bent.
- Sleep in het deelvenster Data KPI naar Kleur op de kaart Markeringen.
U kunt nu zien welke categorieën in elke staat verliesgevend zijn.
Het nieuwe berekende veld wordt getoond onder Meetwaarden in het deelvenster Data. Net als uw andere velden kunt u dit veld in een of meer visualisaties gebruiken.
Zie ook
Belangrijke voortgangsindicatoren visualiseren