Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
44
Rozdział2:WprowadzeniedoDAX
wskazówka
Otociekawysposób,wjakimożnawykorzystaćfunkcjęSWITCHdotesto-
waniawieluwarunkówwtymsamymwyrażeniu.PonieważSWITCHjestkonwertowanewe-
wnętrznienaciągzagnieżdżonychwarunkówIF,gdziepierwszezdopasowańmapierw-
szeństwo,możnaprzetestowaćwielewarunkówwtymsamymwyrażeniu,używającwzorca
podobnegodoponiższego:
SWITCH(
TRUE(),
Product[Size]="XL"&&Product[Color]="Red",
"RedandXL",
Product[Size]="XL"&&Product[Color]="Blue",
"BlueandXL",
Product[Size]="L"&&Product[Color]="Green",
"GreenandL"
)
UżycieTRUEjakopierwszegoparametruoznacza„zwróćpierwszywarunek,wktórymwy-
rażeniebędzieprawdziwe”.
Funkcjeinformacyjne
Jeżelizachodzipotrzebaanalizytypuwyrażenia(czylitypuwartościzwracanej
przezdanewyrażenie),możemysięgnąćpojednązfunkcjiinformacyjnychjęzyka
DAX.WszystkietefunkcjezwracająwartościtypuTRUE/FALSEimogązostaćużyte
wdowolnymwyrażeniulogicznym.tofunkcjeISBLANK(czypuste),ISERROR(czy
błąd),ISLOGICAL(czylogiczna),ISNONTEXT(czynie-tekst),ISNUMBER(czyliczba)oraz
ISTEXT(czytekst).
Trzebapamiętać,żejeślijakoparametrzostanieprzekazananazwakolumnytabeli,
funkcjeISNUMBER,ISTEXTorazISNONTEXTzwracajązawszeTRUElubFALSEwzależ-
nościodtypudanychwtejkolumnieiwystępowaniapustychwartościdlakażdej
komórki.
Ktośmógłbysięzastanawiać,czyfunkcjiISNUMBERmożnabyużyćwobeckolumny
tekstowejwcelusprawdzenia,czymożliwajestkonwersjanaliczbę.Niestety
,niemoż-
naużyćtakiegopodejścia;jeślichcemysprawdzić,czywartośćtekstowamożezostać
przekonwertowananaliczbę,musimyspróbowaćwykonaćkonwersjęiobsłużyćbłąd
wrazieniepowodzenia.Naprzykładwcelusprawdzania,czykolumnaPrice(która
matypText)zawierapoprawnąliczbę,możemynapisać:
IsPriceCorrect=NOT(ISERROR(Sales[Price]+0))
Abyustalićwartość(prawdalubfałsz)funkcjiISERRORwtymprzykładzie,DAXpró-
bujedodaćzerodowartościzkolumnyPrice,tymsamymwymuszająckonwersję
zwartościtekstowejnaliczbę.Konwersjataniepowiedziesiędlaniedostępnej(N/A)
wartościcenyiwtymmiejscumożemyzobaczyć,żefunkcjaISERRORzwracaTRUE.