Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
36
Rozdział2:WprowadzeniedoDAX
Gdybyśmypoprostupomnożyliwagęproduktuprzezcenęwysyłki,otrzymalibyśmy
pustąwartośćkosztudlawszystkichtransakcjisprzedaży
,wktórychbrakujedanych
ociężarze.
Lepiejunikaćstosowaniafunkcjiobsługibłędów
Choćtonieczas,abyzajmowaćsięoptymalizacjąkoduDAX,wartowspomnieć
otym,żefunkcjeobsługibłędówmogąmiećpoważny,negatywnywpływ
nawydajnośćnaszegokodu.Niechodzinawetoto,żesamewsobiepowol-
ne.Problempoleganatym,żesilnikDAXniemożeużyćzoptymalizowanych
ścieżekwswoimkodzie,gdypojawiająsiębłędy
.Wwiększościprzypadków
znaczniewydajniejszebędziesprawdzenieoperandówpodkątempotencjalnych
błędów,zamiastposługiwaniasięmechanizmemobsługibłędów.Naprzykład,
zamiastpisaćtak:
=IFERROR(
SQRT(Test[Omega]),
BLANK()
)
znacznielepiejbędzienapisaćtak:
=IF(
Test[Omega]>=0,
SQRT(Test[Omega]),
BLANK()
)
Drugiewyrażenieniepotrzebujewykrywaćbłęduijestznacznieszybsze
odpierwszego.Tooczywiścietylkoogólnareguła.Szczegółowewyjaśnienia
zawierarozdział16,„OptymalizowaniekoduDAX”.
FormatowaniekoduDAX
ZanimprzejdziemydodalszegoobjaśnianiajęzykaDAX,wartozająćsiębardzoistot-
nymaspektemDAX:formatowaniemkodu.DAXjestjęzykiemfunkcyjnym,coozna-
cza,żebezwzględunato,jakbardzobędzieskomplikowane,wyrażenieDAXjest
zawszewywołaniempojedynczejfunkcjizjakimiśparametrami.Złożonośćkodu
odzwierciedlazłożonośćwyrażeń,któreprzekazywanejakoparametrydonajbar-
dziejzewnętrznej(pierwszej)funkcji.
Ztegowzględuczęstomożnazobaczyćwyrażeniarozciągającesięna10wierszylub
więcej.Wyrażenieobejmujące20wierszymożewydawaćsięczymśbardzozłożonym,
alejesttozupełnienormalneitrzebasiędotegoprzyzwyczaić.Tymniemniej,wmiarę