Power BI – Optimalizácia výkonu reportov a jazyka DAX

Cieľ kurzu: Každý report v Power BI je dobrý len do takej miery, ako rýchlo vie zobraziť výsledky. Môžete mať nádherný report, ktorý sofistikovane zobrazí všetko čo potrebujete, vykreslí to v nádherných interaktívnych grafoch a nechá aj Vašu svokru prekvapenú, ako ste to zvládli. Keď sa však bude zobrazovať 5 minút, alebo reagovať na každý preklik pol minúty, tak si moc nepomôžete. A pri bežnom používateľovi pôjde takýto report “do kytek”. Pritom so správnymi znalosťami sa dá tomu vyhnúť.

Na tomto kurze sa naučíte optimalizovať rýchlosť výpočtov v jazyku DAX. Naučíte sa odchytiť daxové dotazy, a následne správne odmerať a interpretovať, prečo sú dané vzorce pomalé. Dostanete desiatky stratégií, ako prepísať DAX vzorce na oveľa rýchlejší variant, a naučíte sa nezvyčajné modelovacie techniky pre rapídne urýchlenie výpočtov. A zároveň dostanete to najlepšie, čo Michal vie, vrátane nedokumentovaných či skrytých optimalizácií, ktoré sa nedozviete nikde inde. Pomocou ktorých, ak ich správne aplikujete, budú vaše výpočty v DAX-e doslova lietať.

V niektorých prípadoch budete vedieť dosiahnuť urýchlenie výpočtov nielenže niekoľko násobne, ale až o niekoľko rádov (100- až 1000-násobne a viac). Ak ste si doteraz mysleli, že zoptimalizovať výpočty z minút na sekundy, a odtiaľ až na milisekundy je nemožné, tak tu sa dozviete hneď niekoľko univerzálnych stratégií, ako to možné je. A ako je možné kombinovať tieto stratégie dokopy, a získať ešte lepšie výsledky.

Problém s pomalými výpočtami však nemusí byť len v DAX-e. Nesprávna štruktúra dátového modelu vie tiež citeľne spomaliť všetky výpočty v DAX-e. Na tomto kurze sa preto naučíte aj to, ako správne navrhnúť štruktúru dátového modelu, aj keď ste si mysleli, že doteraz ste to robili dobre. Ako ju navrhnúť tak, aby podporovala čo najväčšiu rýchlosť výpočtov, a bola škálovateľná aj do budúcnosti na oveľa väčšie dáta. A navyše, udržateľným, stabilným spôsobom, ktorý vydrží aj do budúcnosti po náraste modelu o ďalšie dáta. Na základe dlhodobo overených princípov, ako sa majú stavať hypervýkonné dátové modely a dátové sklady. A ak už máte hotové reporty, tak ako ich prerobiť tak, aby sa vaše výsledky počítali oveľa rýchlejšie. Na základe toho budete vedieť, ako môže byť model so 100 miliónmi riadkov rýchlejší ako model s 1 miliónom riadkov, aj keď priamo nepoužívate DAX.

V skratke, tu je zoznam toho, čo z kurzu získate:

  • Zistíte, ako interne fungujú výpočty v jazyku DAX a ako to využiť pre zrýchlenie výpočtov,
  • Naučíte sa, ako rapídne urýchliť výpočty v jazyku DAX,
  • Dostanete viac ako 20 stratégií, ako prepísať DAX vzorce na (oveľa) rýchlejší variant,
  • Naučíte sa, ako správne navrhovať dátový model pre rýchlosť výpočtov, a budúcu škálovateľnosť pre veľké dáta,
  • Dozviete sa viacero spôsobov, ako myslieť v jazyku DAX a riešiť pomocou neho výpočty,
  • Výber z toho najlepšieho, čo sa Michal naučil o PowerPivote, Power BI a práci za posledných 14 rokov,
  • Prevetráte svoje mozgové bunky,
  • Získate výbornú možnosť, ako si precvičiť pokročilý DAXdátové modelovanie.

Cieľová skupina: Účastníci, ktorí potrebujú rapídne urýchliť výpočty v jazyku DAX, ako aj rýchlosť dátových modelov. A samozrejme pre tých, ktorí sa chcú naučiť množstvo vecí z DAX-u a optimalizácie výkonu. Školenie vôbec nie je vhodné pre začiatočníkov. Účastníci by mali ovládať aspoň základy jazyka DAX. Ak ho neovládajú, tak sa ich môžu dovtedy naučiť buď na niektorom z našich kurzov, alebo z našej knihy o Power BI. Školenie je využiteľné nielen v Power BI, ale aj v excelovskom PowerPivote, serverovom SSAS Tabulare, a v cloudových Azure Analysis Services.

Úroveň: Level 300+ (pokročilí, nádejní Jedi Mastri, daxoví polobohovia a ostrieľaní machri)

Toto je najpokročilejší kurz o Power BI v celej SR a ČR, od autora jedinej slovenskej knihy o Power BI, PowerPivote a jazyku DAX. Je to top expert s 10-ročnou praxou v Power BI a 13-ročnou praxou v PowerPivote, vrátane nasadení vo veľkých firmách. Presvedčte sa o tom v referenciách od predchádzajúcich účastníkov našich kurzov.

Trvanie: 2 dni, od 9:00 do 17:00

Najbližšie termíny:

V cene je zahrnuté:

  • podrobná tlačená príručka k preberaným témam v slovenčine,
  • certifikát o absolvovaní kurzu v slovenčine aj angličtine,
  • dobrá atmosféra na kurze 🙂

Obsahová náplň:

Úvod do problematiky

  • Metodika riešenia problémov (nielen) s reportami Power BI
  • Dôvody pomalých reportov
  • Optimalizačné stratégie
  • Problémy s ladením výkonu, na čo si dať pozor, a ako na ne
  • Nástroje používané pri optimalizácii výkonu a pamäte – DAX Studio, Power BI Analyzer, …
  • Najväčší problém pri optimalizácii výkonu, a ako ho zvládnuť

Ako nájsť, kde je hlavný problém s rýchlosťou

  • Interná architektúra vykonávania dotazov
  • Storage Engine (SE) a Formula Engine (FE)
  • Práca s DAX Studiom
  • Správne meranie rýchlosti a dĺžky trvania DAX výpočtov
  • Exekučné plány DAX dotazov a VertiPaq dotazy
  • Ako zbadať problémy na základe exekučných plánov a debugovania
  • Rôzne vrstvy cache a ich využitie vo výpočtoch
  • Rozdiely v cache-ovaní DAX vs. MDX dotazov
  • Debugovanie a logovanie častí výpočtov za behu
  • Monitorovanie interných udalostí

Optimalizácia rýchlosti DAX výpočtov a optimalizačné techniky v jazyku DAX

  • Ako DAX rozmýšľa o vašich dátach
  • Prepis pomalých DAX dotazov na rýchlejšie alternatívy
  • Nahradenie neefektívnych funkcií efektívnejšími
  • Optimalizácia veľkého počtu iterácií
  • Optimalizácia pomocou lepšej znalosti jazyka DAX
  • Eliminácia internej komunikácie medzi SE a FE
  • Všemohúca unikátna hodnota
  • Predpočítanie časti výsledku a využitie predpočítaných údajov vo výpočtoch
  • Odstránenie opakovaného počítania vo výpočtoch
  • Optimalizácia počítania štatistík pre prebiehajúce udalosti a časové rozsahy
  • Technika „rozdeľuj a panuj“
  • Technika kumulatívneho stĺpca
  • Využitie premenných pre zrýchlenie výpočtov
  • Skryté optimalizácie v jazyku DAX
  • DAX funkcie optimalizované pre rýchlosť
  • Nahradenie funkcií Time Intelligence rýchlejšími alternatívami
  • Využívanie interných štruktúr dátového modelu pri výpočtoch
  • Odstránenie dekompresie celej tabuľky do pamäte počas výpočtu
  • Optimalizácia výpočtov pomocou úplne iného prístupu
  • Tajné optimalizačné Jedi Master triky

Optimalizácia rýchlosti pomocou vhodného dátového modelovania

  • Príprava vhodnej štruktúry dátového modelu pre konkrétne typy výpočtov
  • Optimalizácia rýchlosti výpočtov pomocou vhodnej štruktúry dátového modelu a modelovacích techník
  • Mapovacie tabuľky pre zrýchlenie výpočtov
  • Kombinačné tabuľky a ich využitie pre bleskurýchle výpočty
  • Optimalizácia veľkosti kombinačných tabuliek
  • Optimalizácia spojenia riadkov cez podmienku
  • Optimalizácia cez vhodné namodelovanie statických častí výpočtov
  • Optimalizácia výkonu master-detail tabuliek
  • Optimalizácia výkonu M:N vzťahov
  • Normalizácia M:N vzťahov
  • Optimalizácia DISTINCT COUNT
  • Využitie príznakových stĺpcov
  • Využitie dimenzných tabuliek ako faktových tabuliek
  • Optimalizácia rýchlosti výpočtov v protismere prepojenia

Optimalizácia pamäte a veľkosti dátového modelu

  • Ako je organizovaný dátový model v pamäti
  • Ako vplýva veľkosť dátového modelu na rýchlosť výpočtov
  • Dáta, slovníky, relácie a hierarchie
  • Kompresné algoritmy VertiPaqu
  • Stratégie pre zlepšenie kompresného pomeru dát
  • Rýchla analýza dátového modelu pomocou Power BI Analyzera
  • Optimalizácia pamäte používanej dátovým modelom
  • Optimalizácia stĺpcov s vysokou kardinalitou/početnosťou hodnôt
  • Optimalizácia kardinality prepojení pre veľké dimenzie (1 mil. hodnôt a viac)
  • Implicitná materializácia dát
  • Materializované agregáty
  • Kedy použiť vypočítané stĺpce a kedy merítka
  • Normalizácia vs. denormalizácia dát
  • Cache dátového modelu a jej čistenie
  • Nastavenia SSAS Tabularu / Azure Analysis Services ovplyvňujúce výkon
  • Úprava kompresného pomeru cez nastavenia servera SSAS / AAS

Využitie funkcionality Power BI, dátového modelu a databáz pre optimalizáciu výkonu

  • Výpočtové skupiny
  • Agregačné tabuľky a agregácie
  • Indexy a materializované pohľady
  • Optimalizácia rýchlosti reportov pomocou lepších reportovacích techník
  • Vizuálne výpočty (výpočty priamo na zoskupených dátach)
  • Inkrementálna aktualizácia dát
  • Zapnutie logovania užívateľských dotazov z reportov (Premium cloud, SSAS/AAS)