Ehtolausekkeet

Ehtolausekkeilla luodaan lausekkeita, joilla muunnetaan arvoja.

Tässä osassa kuvatut ehtolausekkeet ovat rakenneosia, joilla voi luoda lausekkeita, jotka muuntavat arvon yhdestä muodosta toiseen.

Noudata näitä sääntöjä:

  • CASE-lausekkeissa AND menee OR.-operaattorin edelle
  • Merkkijonot on ympäröitävä heittomerkeillä.
Lauseke Esimerkki Kuvaus Syntaksi

CASE (If)

CASE

WHEN tulos-par < 0 THEN 'Alle parin'

WHEN tulos-par = 0 THEN 'Par'

WHEN tulos-par = 1 THEN 'Bogi'

WHEN tulos-par = 2 THEN 'Tuplabogi'

ELSE 'Triplabogi tai huonompi'

END

Arvioi kunkin WHEN-ehdon ja jos ehto täyttyy, antaa arvon vastaavaan THEN-lausekkeeseen.

Jos mikään WHEN-ehdoista ei täyty, annetaan ELSE-lausekkeessa määritetty oletusarvo. Jos ELSE-lauseketta ei ole määritetty, järjestelmä lisää automaattisesti ELSE NULL -lausekkeen.

Huomautus: katso kohta Parhaat käytännöt CASE-lausekkeiden käyttöön analyyseissa ja visualisoinneissa.

CASE WHEN pyynnön_ehto1 THEN lauseke1 ELSE lauseke2 END

CASE (Switch)

CASE Tulos-par

WHEN -5 THEN 'Birdie, par 6'

WHEN -4 THEN 'Varmaankin Tiger'

WHEN -3 THEN 'Kolme alle parin'

WHEN -2 THEN 'Kaksi alle parin'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogi'

WHEN 2 THEN 'Tuplabogi'

ELSE 'Triplabogi tai huonompi'

END

Käytetään myös nimitystä CASE (Lookup). Ensimmäisen lausekkeen ja WHEN-lausekkeiden arvot tutkitaan. Jos ensimmäinen lauseke vastaa jotakin WHEN-lauseketta, se antaa arvon vastaavaan THEN-lausekkeeseen.

Jos mikään WHEN-lausekkeista ei ole vastaava, se antaa ELSE-lausekkeessa määritetyn oletusarvon. Jos ELSE-lauseketta ei ole määritetty, järjestelmä lisää automaattisesti ELSE NULL -lausekkeen.

Jos ensimmäinen lauseke vastaa useissa WHEN-lauseissa olevaa lauseketta, vain ensimmäistä vastaavuutta seuraava lauseke annetaan.

Huomautus katso kohta Parhaat käytännöt CASE-lausekkeiden käyttöön analyyseissa ja visualisoinneissa.

CASE lauseke1 WHEN lauseke2 THEN lauseke3 ELSE lauseke4 END

IfCase > ELSE

-

-

ELSE [lauseke]

IfCase > IFNULL

-

-

IFNULL([lauseke], [arvo])

IfCase > NULLIF

-

-

NULLIF([lauseke], [lauseke])

IfCase > WHEN

-

-

WHEN [ehto] THEN [lauseke]

IfCase > CASE

-

-

CASE WHEN [Ehto] THEN [lauseke] END

SwitchCase > ELSE

-

-

ELSE [lauseke]

SwitchCase >IFNULL

-

-

IFNULL([lauseke], [arvo])

SwitchCase > NULLIF

-

-

NULLIF([lauseke], [lauseke])

SwitchCase > WHEN

-

-

WHEN [ehto] THEN [lauseke]

Parhaat käytännöt CASE-lausekkeiden käyttöön analyyseissa ja visualisoinneissa

Kun käytät CASE-lausekkeita raporteissa ja työkirjoissa, ota huomioon raportin sarakkeet ja koostejärjestys, sillä ne vaikuttava lausekkeiden ja välisummien laskentatapaan.

  • Varmista CASE-lausekkeita käyttäessäsi ylipäänsä, että kaikki lausekkeessa käytetyt sarakkeet otetaan mukaan raporttiin.

  • Jos koostejärjestys on tärkeä, vaihda raportin oletusarvoisen koostesäännön tilalle SUM-koostesääntö.
  • Jos ehto on arvioitava ennen koosteen laskentaa (jos esimerkiksi suodatettu sarake ei näy myös raportissa), käytä FILTER-funktiota.

Esimerkki

Tässä esimerkissä on brändin, tuotetyypin ja tuoton tiedot.
Kohteen GUID-5837A210-154F-4FAC-922D-EBF0A21C349A-default.png kuvaus seuraa
.png kuvaus

Jotta voidaan käyttää ehtoa, jolla Kamera-sarakkeen tuotoksi määritetään nolla, luodaan seuraava ehdollinen lauseke: CASE WHEN Product_Type = ‘Camera’ THEN 0 ELSE Revenue END.

Kun Product_Type jätetään pois raportista, tiedot eivät ole käytettävissä lausekkeen arviointia varten, koska se sisältää Product_Typ-osan, ja tulokset ovat seuraavanlaiset :
Kohteen GUID-22873F41-3679-45DF-821D-4167594FE069-default.png kuvaus seuraa
.png kuvaus

Kun lisäät raporttiin kohteen PRODUCT_TYPE ja määrität raportin koosteeksi SUM, tulos koostetaan kun perustason arvot on laskettu:
Kohteen GUID-0BEEE7E1-73CE-4BAA-98A2-683830E18E12-default.png kuvaus seuraa
.png kuvaus

CASE:n tilalla voidaan käyttää myös suodatinlauseketta FILTER(Revenue using Product_Type != ‘Camera’). Lauseke lasketaan erillään raporttisarakkeista, ja laskennan jälkeen käytetään koosteita:
Kohteen GUID-F428B1A7-A9FF-425B-80F1-BB709769CE5C-default.png kuvaus seuraa
.png kuvaus