Techniky znižovania objemu údajov na modelovanie importu

Tento článok sa zameriava na modelárov údajov aplikácie Power BI Desktop, ktorí vyvíjajú importované modely. Opisuje rôzne techniky, ktoré pomáhajú znížiť načítanie údajov do importovaných modelov.

Importované modely sa načítavajú s údajmi, ktoré sa komprimujú a optimalizujú a následne sa uložia na disk pomocou nástroja úložiska VertiPaq. Pri načítavaní zdrojových údajov do pamäte je možná 10-násobná kompresia, preto je rozumné očakávať, že 10 GB zdrojových údajov sa môže skomprimovať na veľkosť približne 1 GB. Okrem toho je možné dosiahnuť ďalších 20 % zníženia na disku.

Napriek efektivite, ktorú dosiahol nástroj úložiska VertiPaq, je dôležité, aby ste sa snažili minimalizovať údaje, ktoré sa majú načítať do vašich modelov. Platí to najmä pre veľké modely alebo modely, od ktorých očakávate, že sa budú zväčšovať a časom sa stanú veľkými. Medzi štyri presvedčivé dôvody patrí:

  • Veľkosť väčších modelov nemusí byť podporovaná vašou kapacitou. Zdieľaná kapacita môže hostiť modely s veľkosťou až 1 GB, zatiaľ čo kapacity Premium dokážu hostiť modely s veľkosťou až 13 GB. Ďalšie informácie nájdete v článku Podpora veľkých množín údajov v službe Power BI Premium.
  • Menšie veľkosti modelu znižujú konflikt v zdrojoch kapacity, najmä pamäti. To umožňuje súčasné načítanie viacerých modelov za dlhší čas, vďaka čomu sú nižšie miery vyradenia. Ďalšie informácie nájdete v téme Spravovanie kapacít Premium.
  • Menšie modely dosahujú rýchlejšie obnovenie údajov, čo má za následok nižšie časové oneskorenie vytvárania zostáv, vyššiu priepustnosť obnovovania množiny údajov, menší tlak na zdrojový systém a zdroje kapacity.
  • Menšie počty riadkov tabuľky môžu viesť k rýchlejšiemu vyhodnocovaniu výsledkov výpočtu, čo môže priniesť lepší celkový výkon dotazu.

V tomto článku je uvedených osem rôznych techník znižovania údajov. Tieto techniky zahŕňajú:

Odstránenie nepotrebných stĺpcov

Stĺpce modelu tabuľky majú dva hlavné účely:

  • Vytváranie zostáv, ktorých cieľom je dosiahnuť vhodné filtrovanie, zoskupenie a sumarizovanie dátového modelu
  • Štruktúra modelu, prostredníctvom podporovania modelových vzťahov, modelových výpočtov, rolí zabezpečenia a dokonca aj formátovania farieb údajov

Stĺpce, ktoré neslúžia na tieto účely, je pravdepodobne možné odstrániť. Odstránenie stĺpcov sa označuje ako zvislé filtrovanie.

Odporúčame vám navrhnúť modely s tým správnym počtom stĺpcov na základe známych požiadaviek na vykazovanie. Tieto požiadavky sa môžu v priebehu času meniť, ale majte na pamäti, že je jednoduchšie pridať stĺpce neskôr, ako ich potom odstrániť. Odstránením stĺpcov sa môžu prerušiť zostavy alebo štruktúra modelu.

Odstránenie nepotrebných riadkov

Tabuľky modelu by sa mali načítať s čo najmenším počtom riadkov. To možno dosiahnuť načítaním filtrovanej skupiny riadkov do tabuliek modelov z dvoch rôznych dôvodov: filtrovať podľa entity alebo podľa času. Odstránenie riadkov sa označuje ako vodorovné filtrovanie.

Filtrovanie podľa entity zahŕňa načítanie podmnožiny zdrojových údajov do modelu. Napríklad namiesto načítania údajov o predaji pre všetky oblasti predaja sa načítajú iba fakty pre jednu oblasť. Tento návrhový prístup bude mať za následok mnoho menších modelov a môže tiež eliminovať potrebu definovať zabezpečenie na úrovni riadkov (ale bude vyžadovať udelenie špecifických povolení množiny údajov v službe Power BI a vytváranie „duplicitných“ zostáv, ktoré sa pripájajú ku každej množine údajov). Na zjednodušenie spravovania a publikovania môžete využiť parametre Power Query a súbory šablón služby Power BI. Ďalšie informácie nájdete v zázname blogu Podrobné informácie o parametroch dotazu a šablónach služby Power BI.

Filtrovanie podľa času zahŕňa obmedzenie množstva histórie údajov načítaných do tabuliek faktového typu (a obmedzenie riadkov dátumov načítaných do tabuliek dátumov modelov). Odporúčame, aby ste automaticky nenačítali celú dostupnú históriu, pokiaľ nejde o známu požiadavku na vytváranie zostáv. Je dobré vedieť, že filtre Power Query založené na čase môžu byť parametrizované a dokonca nastavené na používanie relatívnych časových období (v porovnaní s dátumom obnovenia, napríklad za posledných päť rokov). Majte tiež na pamäti, že retrospektívne zmeny časových filtrov neprerušia zostavy. ale bude to mať za následok, že v zostavách bude k dispozícii menej (alebo viac) histórie údajov.

Spôsob zoskupenia a zhrnutie

Asi najúčinnejšou technikou na zmenšenie veľkosti modelu je načítanie vopred zhrnutých údajov. Táto technika sa dá použiť na zvýšenie množstva tabuliek faktového typu. Existuje však zreteľné kompromisy, ktoré majú za následok stratu podrobností.

Napríklad faktová tabuľka zdrojov predaja ukladá jeden riadok na riadok objednávky. Významné zníženie objemu údajov sa dá dosiahnuť zhrnutím všetkých metrík predaja a zoskupovaním podľa dátumu, zákazníka a produktu. Zoberme si teda, že by bolo možné dosiahnuť ešte výraznejšie zníženie údajov zoskupením podľa dátumu na úrovni mesiaca. Mohlo by sa tým dosiahnuť zmenšenie modelu o 99 %, ale nebolo by už možné vytvárať zostavy na dennej úrovni alebo na úrovni individuálnych objednávok. Pri rozhodovaní o zhrnutí údajov faktového typu sa vždy vyžadujú kompromisy. Tento kompromis by mohol byť zmiernený návrhom kombinovaného modelu a táto možnosť je popísaná v technike Prepnutie do kombinovaného režimu.

Optimalizovanie typy údajov stĺpcov

Nástroj úložiska VertiPaq používa pre každý stĺpec samostatné štruktúry údajov. Podľa návrhu tieto štruktúry údajov dosahujú najvyššie optimalizácie pre číselné stĺpce údajov, ktoré používajú kódovanie hodnoty. Text a iné nečíselné údaje však používajú kódovanie hash. Toto vyžaduje, aby nástroj na ukladanie priradil numerický identifikátor ku každej jedinečnej textovej hodnote obsiahnutej v stĺpci. Ide o numerický identifikátor, ktorý sa potom uloží v štruktúre údajov, pričom sa počas ukladania a vytvárania dotazov vyžaduje vyhľadávanie hash.

V niektorých konkrétnych prípadoch môžete skonvertovať zdrojové textové údaje na číselné hodnoty. Napríklad číslo predajnej objednávky môže byť konzistentne dané textovou hodnotou (napr. „SO123456“). Predponu možno odstrániť a hodnota čísla poradia sa konvertuje na celé číslo. V prípade veľkých tabuliek môže dôjsť k významnému zníženiu objemu údajov, najmä ak stĺpec obsahuje jedinečné alebo vysoké hodnoty kardinality.

V tomto príklade odporúčame, aby ste nastavili vlastnosť stĺpca Predvolený súhrn na hodnotu „Nezhrnúť“. Pomôže to minimalizovať nevhodnú sumarizáciu číselných hodnôt objednávok.

Preferencie pre vlastné stĺpce

Nástroj úložiska VertiPaq ukladá model vypočítaných stĺpcov (definovaných v jazyku DAX) rovnako ako bežné zdroje stĺpcov Power Query. Štruktúry údajov sa však ukladajú mierne odlišne a zvyčajne dosahujú menej účinnú kompresiu. Tiež sú vytvorené po načítaní všetkých tabuliek Power Query, čo môže viesť k predĺženiu časov obnovenia údajov. Preto je menej efektívne pridať stĺpce tabuľky ako vypočítané ( stĺpce než vypočítané stĺpce Power Query (definované v M).

Preferencia by mala znamenať vytváranie vlastných stĺpcov v doplnku Power Query. Keď je zdrojom databáza, môžete dosiahnuť vyššiu efektivitu načítania dvomi spôsobmi. Výpočet možno definovať v príkaze SQL (pomocou jazyka natívneho dotazu poskytovateľa) alebo ho možno vymedziť ako stĺpec v zdroji údajov.

V niektorých inštanciách však možno lepšie vybrať model vypočítaných stĺpcov. Môže to byť prípad, keď vzorec zahŕňa vyhodnocovanie meraní, alebo si vyžaduje konkrétnu funkciu modelovania podporovanú len vo funkciách DAX. Informácie o jednom z týchto príkladov nájdete v článku Pochopenie funkcií pre hierarchiu nadriadenosti a podriadenosti v jazyku DAX.

Zakázanie načítanie dotazu Power Query

Dotazy Power Query, ktoré sú určené na podporu integrácie údajov s inými dotazmi, by sa nemali načítať do modelu. Ak sa chcete vyhnúť načítaní dotazu do modelu, postarajte sa o to, aby ste v týchto prípadoch zakázali načítanie dotazov.

Snímka obrazovky s aplikáciou Power Query zobrazujúca možnosť Povoliť načítanie.

Vypnutie automatického dátumu a času

Power BI Desktop obsahuje možnosť s názvom Automatický dátum a čas. Ak je povolená, vytvorí pre stĺpce dátumov skrytú tabuľku Automatický dátum a čas na podporu autorov zostavy pri konfigurácii filtrov, zoskupovaní a akcií prechod na detaily pre časové obdobia kalendára. Skryté tabuľky sú v skutočnosti vypočítané tabuľky, ktoré zvýšia veľkosť modelu. Pokyny týkajúce sa používania tejto možnosti nájdete v článku Pomoc s automatickým dátumom a časom v Power BI Desktop.

Prepnutie do kombinovaného režimu

Dizajn kombinovaného režimu vytvára v aplikácii Power BI Desktop zložený model. V podstate vám umožňuje určiť režim úložiska pre každú tabuľku. Preto môže mať každá tabuľka vlastnosť Režim úložiska nastavenú ako import alebo DirectQuery (Dual je ďalšou možnosťou).

Efektívna technika na zmenšenie veľkosti modelu je nastavenie vlastnosti Režim úložiska na väčší faktový typ tabuľky do režimu DirectQuery. Zoberme si, že tento návrhový prístup by mohol dobre fungovať v spojení s predchádzajúcou technikou Spôsob zoskupenia a zhrnutie. Súhrnné údaje o predaji by sa napríklad mohli použiť na dosiahnutie vysokého výkonu súhrnu vytvárania zostáv. Prechodom na stranu môžete zobraziť podrobný predaj pre konkrétny (a úzky) kontext filtra, ktorý sa zobrazuje pre všetky predajné objednávky. V tomto príklade by stránka podrobnej náhry obsahovala vizuály založené na tabuľke DirectQuery na načítanie údajov predajnej objednávky.

Existujú však mnohé vplyvy zabezpečenia a výkonu súvisiace so zloženými modelmi. Ďalšie informácie nájdete v článku Používanie zložených modelov v aplikácii Power BI Desktop.

Ďalší postup

Ďalšie informácie o návrhoch importovaných modelov v službe Power BI nájdete v nasledujúcich článkoch: