U kunt voorwaardelijke uitdrukkingen gebruiken om uitdrukkingen te maken waarmee waarden worden geconverteerd.
De voorwaardelijke uitdrukkingen beschreven in deze sectie zijn bouwstenen voor het maken van uitdrukkingen waarmee een waarde wordt geconverteerd van de ene vorm naar een andere.
Volg deze regels:
CASE
-statements heeft AND
prioriteit boven OR
.Uitdrukking | Voorbeeld | Beschrijving | Syntaxis |
---|---|---|---|
CASE (If) |
|
Hiermee wordt elke Als er aan geen van de Opmerking: zie Aanbevolen werkwijzen voor het gebruik van CASE-statements in analyses en visualisaties. |
|
CASE (Switch) |
|
Wordt ook wel Als geen van de Als de eerste uitdrukking overeenkomt met een uitdrukking in meerdere |
|
IfCase > ELSE |
- |
- |
|
IfCase > IFNULL |
- |
- |
|
IfCase > NULLIF |
- |
- |
|
IfCase > WHEN |
- |
- |
|
IfCase > CASE |
- |
- |
|
SwitchCase > ELSE |
- |
- |
|
SwitchCase > IFNULL |
- |
- |
|
SwitchCase > NULLIF |
- |
- |
|
SwitchCase > WHEN |
- |
- |
|
Wanneer u CASE-statements gebruikt in rapporten en werkmappen, moet u rekening houden met de rapportkolommen en de aggregatievolgorde, aangezien deze van invloed zijn op de manier waarop uitdrukkingen en subtotalen worden berekend.
Wanneer u CASE-uitdrukkingen gebruikt, moet u controleren of kolommen die in de uitdrukking worden gebruikt in het rapport zijn opgenomen.
Als een voorwaarde moet worden geëvalueerd voordat de aggregatie wordt berekend (bijvoorbeeld als de gefilterde kolom niet wordt weergegeven in het rapport), gebruikt u de functie FILTER.
Voorbeeld
Dit voorbeeld gebruikt gegevens voor 'Merk', 'Producttype' en 'Opbrengsten'.
.png
Als u een voorwaarde wilt toepassen om de cameraopbrengsten op 0 in te stellen, maakt u de volgende voorwaardelijke uitdrukking: CASE WHEN Product_Type = ‘Camera’ THEN 0 ELSE Opbrengsten END
.
Wanneer Product_Type is uitgesloten van het rapport, zijn er geen gegevens beschikbaar om de uitdrukking te evalueren, omdat deze Product_Type bevat en dit de resultaten zijn:
.png
Door PRODUCT_TYPE toe te voegen aan het rapport en de rapportaggregatie in te stellen op SUM, worden de resultaten geaggregeerd nadat de basisniveauwaarden zijn berekend:
.png
Een alternatief voor het gebruik van CASE is een filteruitdrukking: FILTER(Opbrengsten using Product_Type != ‘Camera’). De uitdrukking wordt afzonderlijk van rapportkolommen berekend en aggregaties worden na berekening toegepast:
.png