Jazyk DAX v Power BI odteraz používa syntax podľa dokumentácie

Jazyk DAX v Power BI sa dočkal relatívne nepríjemnej novinky pre väčšinu užívateľov mimo USA. Začal používať syntax podľa dokumentácie. Našťastie sa to dá zatiaľ prepnúť naspäť do “našej” syntaxe. A preto sa na to teraz pozrieme.

Duálny svet

Po 10 rokoch, odkedy existuje jazyk DAX, dostal v tíme Power BI niekto spásonosnú myšlienku – používať jednotnú syntax, tú čo je v oficiálnej dokumentácii k jazyku DAX. Oficiálny dôvod je celkom praktický – aby sa používala jednotná syntax aj na počítačoch s rôznymi regionálnymi nastaveniami. Pretože ak už v DAX-e dlhšie pracujete, alebo ste čítali o syntaxe DAX-u v mojej knihe, tak viete, že DAX má 2 syntaxe, podobne ako Excel. Americkú, a “tú druhú”. Rozdiely sú prebraté z Excelu, pretože jazyk DAX bol pôvodne navrhnutý pre excelistov, aby rýchlo prešli na PowerPivot (a potom si trhali vlasy, že prečo tam každý netriviálny vzorec funguje inak).

Rozdiely sú len v použitých oddeľovačoch:

  1. americká syntax – na oddeľovanie parametrov používa čiarku, a ako oddeľovač desatinných miest v číslach používa bodku,
  2. “naša syntax” – na oddeľovanie parametrov používa bodkočiarku, a ako oddeľovač desatinných miest v číslach používa čiarku.

Power BI aj excelovský PowerPivot medzi týmito syntaxami robili automatický preklad z a do americkej syntaxe, podľa regionálnych nastavení užívateľa (a občasnej mágie), pretože podkladový SSAS Tabular pozná iba americkú syntax.

V čom bol problém

Oficiálny problém bol v tom, že keď viacerí užívatelia DAX-u zdieľali medzi sebou vzorce, a mali iné regionálne nastavenia, tak museli neustále prepisovať jednu syntax do druhej. Zaujímavé, že to 10 rokov nikomu nevadilo, resp. zodpovední si to nevšímali, a až teraz sa to zmenilo. Resp., prebojoval si to Marco Russo v rámci svojich privilégií s vývojovým tímom Power BI, a rovno to tam za nich aj naprogramoval. A zmenu spravil tým najhorším možným spôsobom – všetkým užívateľom Power BI od májového vydania sa vynútili zmenu vzorcov na americkú syntax, ako predvolené nastavenie.

Veď okrem USA vlastne zvyšok sveta neexistuje, tak sa prispôsobte. To, že interné predpisy Microsoftu pre všetok ostatný softvér v takomto prípade vyžadujú, aby softvér bez zásahu užívateľa nemenil svojvoľne nové nastavenia, aby sa zachovala kompatibilita a tým pádom aj spoľahlivosť softvéru so všetkým čo doteraz užívateľ/zákazník vytvoril alebo nainštaloval, nikoho tentokrát netrápilo. Vnútrofiremná kontrola kvality grandiózne zlyhala na globálnej úrovni.

Podľa môjho názoru nebol problém v tom, že po 10 rokoch niekoho osvietilo. Problém bol v tom, že Power BI sa správalo chybne pri interpretácii niektorých vzorcov, keď mal užívateľ neštandardné nastavenia Windows. Napríklad americké regionálne nastavenia so slovenskou čiarkou ako desatinným oddeľovačom, aj keď to nebol jediný prípad. V posledných mesiacoch som sa často stretával v medzinárodnom prostredí s problémom, že napríklad číslo 0,5 sa nedalo zadať ani ako 0,5, ani ako 0.5. A museli sa vymýšľať pokútne náhradné zápisy ako (5/10). V niektorých prípadoch však nepomohlo ani to. A preto sa niekto odhodlal to zmeniť. Pretože aj v jeho prekladači v DAX Formatteri to robilo problémy.

Teraz asi už bude zbytočné lamentovať, prečo neponechali pôvodné nastavenie ako predvolené, a túto zmenu nedali ako voliteľnú, len keď to užívateľ naozaj chce. Našťastie však niekoho chytil zdravý rozum, a umožnil to zmeniť tým, ktorí to nechcú.

Ako to zmeniť

Ak to chcete zmeniť, tak choďte do hlavného menu Power BI Desktopu, do nastavení aplikácie. Dostanete sa tam kliknutím na “Súbor” => “Možnosti a nastavenia” => “Možnosti”. V okne, ktoré sa potom otvorí, kliknite v ľavom menu na položku “Miestne nastavenie”, a v skupine “Oddeľovače DAX” máte na výber tieto 2 možnosti:

Tá prvá je od tohto vydania predvolená, a znamená natvrdo americkú syntax. Tá druhá je voliteľná, a znamená používanie syntaxe tak, ako to bolo zaužívané posledných 10 rokov. Po zmene stlačte OK a reštartujte Power BI Desktop. Vyberajte zodpovedne.

Toto je teda na jednej strane nepríjemná, ale z dlhodobého hľadiska praktická zmena. Ktorá zamaskuje celú jednu skupinu bugov v DAX-e v Power BI. Ja osobne ostávam na “starom” fungovaní, pretože ju tu používajú takmer všetci. Vy si vyberte takú, aká vám bude vyhovovať viac. Do budúcnosti nám už zostáva iba dúfať, že takýchto prekvapení bude čoraz menej.