Betingelsesuttrykk

Du bruker betingelsesuttrykk til å opprette uttrykk som konverterer verdier.

Betingelsesuttrykkene som beskrives i dette avsnittet, er byggesteiner for opprettelse av uttrykk som konverterer en verdi fra én form til en annen.

Følg disse reglene:

  • I CASE-setninger har AND høyere prioritet enn OR.
  • Strenger må plasseres i enkle anførselstegn.
Uttrykk Eksempel Beskrivelse Syntaks

CASE (If)

CASE

WHEN score-par < 0 THEN 'Under Par'

WHEN score-par = 0 THEN 'Par'

WHEN score-par = 1 THEN 'Bogey'

WHEN score-par = 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

Evaluerer hver WHEN-betingelse. Hvis den er godkjent, tilordnes verdien i det tilsvarende THEN-uttrykket.

Hvis ingen av WHEN-betingelsene er oppfylt, tilordnes standardverdien som er angitt i ELSE-uttrykket. Hvis det ikke er angitt noe ELSE-uttrykk, legges det automatisk til et ELSE NULL.

Merknad: Se Anbefalte fremgangsmåter for bruk av CASE-setninger i analyser og visualiseringer.

CASE WHEN request_condition1 THEN expr1 ELSE expr2 END

CASE (Switch)

CASE Score-par

WHEN -5 THEN 'Birdie on Par 6'

WHEN -4 THEN 'Must be Tiger'

WHEN -3 THEN 'Three under par'

WHEN -2 THEN 'Two under par'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogey'

WHEN 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

Kalles også CASE (Lookup). Verdien til det første uttrykket undersøkes, og deretter WHEN-uttrykkene. Hvis det første uttrykket samsvarer med et WHEN-uttrykk, tilordnes verdien i det tilsvarende THEN-uttrykket.

Hvis ingen av WHEN-uttrykkene samsvarer, tilordnes standardverdien som er angitt i ELSE-uttrykket. Hvis det ikke er angitt noe ELSE-uttrykk, legges det automatisk til et ELSE NULL.

Hvis det første uttrykket samsvarer med et uttrykk i flere WHEN-ledd, tilordnes bare uttrykket etter det første samsvaret.

Merknad: Se Anbefalte fremgangsmåter for bruk av CASE-setninger i analyser og visualiseringer.

CASE expr1 WHEN expr2 THEN expr3 ELSE expr4 END

IfCase > ELSE

-

-

ELSE [expr]

IfCase > IFNULL

-

-

IFNULL([expr], [value])

IfCase > NULLIF

-

-

NULLIF([expr], [expr])

IfCase > WHEN

-

-

WHEN [Condition] THEN [expr]

IfCase > CASE

-

-

CASE WHEN [Condition] THEN [expr] END

SwitchCase > ELSE

-

-

ELSE [expr]

SwitchCase >IFNULL

-

-

IFNULL([expr], [value])

SwitchCase > NULLIF

-

-

NULLIF([expr], [expr])

SwitchCase > WHEN

-

-

WHEN [Condition] THEN [expr]

Anbefalte fremgangsmåter for bruk av CASE-setninger i analyser og visualiseringer

Når du bruker CASE-setninger i rapporter og arbeidsbøker, bør du vurdere rapportkolonnene og rekkefølgen på aggregeringen, ettersom dette har innvirkning på hvordan uttrykk og delsummer beregnes.

  • Ved bruk av CASE-uttrykk må du generelt sett passe på at alle kolonner som brukes i uttrykket, er inkludert i rapporten.

  • Hvis rekkefølgen på aggregeringen er viktig, endrer du rapportaggregeringsregelen fra Standard til Sum.
  • Hvis en betingelse må evalueres før aggregeringen beregnes (for eksempel hvis den filtrerte kolonnen ikke vises i rapporten), bruker du funksjonen FILTER.

Eksempel

I dette eksemplet brukes data for Brand, Product Type og Revenue.
Beskrivelse av GUID-5837A210-154F-4FAC-922D-EBF0A21C349A-default.png følger
.png

Vi vil bruke en betingelse der kamerainntekt settes til 0, og vi oppretter derfor følgende betingelsesuttrykk: CASE WHEN Product_Type = ‘Camera’ THEN 0 ELSE Revenue END.

Når Product_Type utelates fra rapporten, finnes det ikke tilgjengelige data for evaluering av uttrykket fordi det inneholder Product_Type. Resultatene er som følger:
Beskrivelse av GUID-22873F41-3679-45DF-821D-4167594FE069-default.png følger
.png

Hvis du legger til PRODUCT_TYPE i rapporten og setter rapportaggregeringen til SUM, aggregeres resultatet etter at verdiene på basisnivå er beregnet:
Beskrivelse av GUID-0BEEE7E1-73CE-4BAA-98A2-683830E18E12-default.png følger
.png

Et alternativ til bruk av CASE er å bruke et filteruttrykk: FILTER(Revenue using Product_Type != ‘Camera’). Uttrykket beregnes uavhengig av rapportkolonner, og aggregeringer brukes etter beregning:
Beskrivelse av GUID-F428B1A7-A9FF-425B-80F1-BB709769CE5C-default.png følger
.png