Snížení mohutnosti

Dokončeno

Mohutnost je pojem, který se používá k popisu jedinečnosti hodnot v nějakém sloupci. Mohutnost se používá také v kontextu relací mezi dvěma tabulkami, kde popisuje směr relace.

Určení úrovní mohutnosti ve sloupcích

Když jste dříve používali Editor Power Query k analýze metadat, zobrazovala možnost Distribuce sloupce na kartě Zobrazení statistiku toho, kolik odlišných a jedinečných položek bylo v datech jednotlivých sloupců.

  • Počet odlišných hodnot – celkový počet různých hodnot nalezených v daném sloupci.

  • Počet jedinečných hodnot – celkový počet hodnot, které se v daném sloupci vyskytují jen jednou.

Snímek obrazovky se statistikou distribuce sloupců

Sloupec, který má ve svém rozsahu velké množství opakovaných hodnot (jedinečný počet je nízký), bude mít nízkou úroveň kardinality. Naopak sloupec, který obsahuje mnoho jedinečných hodnot (počet jedinečných hodnot je vysoký), bude mít vysokou úroveň mohutnosti.

Nižší kardinalita vede k optimalizaci výkonu, takže možná budete muset snížit počet sloupců s vysokou kardinalitou v sémantickém modelu.

Snížení mohutnosti relace

Je možné, že při importu několika tabulek uděláte určitou analýzu pomocí dat z těchto tabulek. Relace mezi těmito tabulkami jsou nezbytné k přesnému výpočtu výsledků a zobrazení správných informací v sestavách. Power BI Desktop vám pomůže vytvoření těchto relací zjednodušit. Ve většině případů vlastně nebudete muset nic dělat – funkce automatického rozpoznávání to udělá za vás. Občas ale budete muset vytvořit relace nebo udělat změny v některé existující relaci. Každopádně je důležité, abyste v Power BI Desktopu pochopili relace a věděli, jak je vytvořit a upravit.

Při vytváření nebo úpravě relace můžete nakonfigurovat další možnosti. Standardně Power BI Desktop automaticky nakonfiguruje další možnosti na základě nejlepšího odhadu, který se na základě dat ve sloupcích může pro každou relaci lišit.

Tyto relace mohou mít různou mohutnost. Mohutnost je směr relace, přičemž každá relace modelu musí být definována pomocí nějakého typu mohutnosti. Power BI má následující možnosti mohutnosti:

  • N:1 –* Tato relace je nejběžnějším výchozím typem. Znamená, že sloupec v jedné tabulce může obsahovat více než jeden výskyt hodnoty, a druhá tabulka v relaci, často označovaná jako vyhledávací tabulka, obsahuje jen jeden výskyt hodnoty.

  • Jedna k jedné (1:1) – v tomto typu relace obsahuje sloupec v jedné tabulce jen jeden výskyt určité hodnoty a druhá tabulka v relaci obsahuje jen jeden výskyt určité hodnoty.

  • 1:N* U tohoto typu relace obsahuje sloupec v jedné tabulce pouze jeden výskyt určité hodnoty a druhá související tabulka může mít více než jeden výskyt hodnoty.

  • Mnoho k mnoha (*:*) – u složených modelů můžete mezi tabulkami vytvořit relaci mnoho k mnoha, což eliminuje požadavky na jedinečné hodnoty v tabulkách. Zároveň to eliminuje předchozí alternativní řešení, například zavedení nových tabulek jen za účelem vytvoření relací.

Během vývoje vytváříte a upravujete relace v modelu, takže když vytváříte nové relace v modelu, bez ohledu na to, jakou kardinalitu jste zvolili, vždy zajistěte, aby oba sloupce, které používáte k účasti v relaci, sdílí stejný datový typ. Model nebude vůbec fungovat, pokud se pokusíte vytvořit relace mezi dvěma sloupci, přičemž jeden sloupec je datového typu text a druhý sloupec je datového typu celé číslo.

V následujícím příkladu má pole ProductID v tabulkách Product a Sales datový typ Celé číslo. Sloupce s datovým typem Celé číslo fungují lépe než sloupce s datovým typem Text.

Snímek obrazovky ukazuje, jak zkontrolovat datový typ ProductID.

Zvýšení výkonu snížením úrovní mohutnosti

Power BI Desktop nabízí různé techniky, které můžete použít ke snížení počtu dat načtených do sémantických modelů, jako je sumarizace. Redukce dat, která se načítají do modelu, vylepší mohutnost relace sestavy. Z tohoto důvodu je důležité, abyste se snažili minimalizovat data, která budou načtena do vašich modelů. To platí zejména pro velké modely nebo pro modely, u kterých očekáváte, že se postupem času budou zvětšovat.

Zřejmě nejefektivnější technikou zmenšení velikosti modelu je použití souhrnné tabulky ze zdroje dat.  Zatímco tabulka podrobností může obsahovat každou transakci, souhrnná tabulka by obsahovala jeden záznam na den, na týden nebo na měsíc. Může se například jednat o průměr všech transakcí za den.

Ve zdrojové tabulce faktů o prodeji se například uchovává jeden řádek pro každý řádek objednávky. Významné redukce dat byste dosáhli shrnutím všech metrik prodeje, kdybyste údaje seskupili podle data, zákazníka a produktu, přičemž podrobnosti jednotlivých transakcí by nebyly potřeba.

Pak si představte, že ještě významnější redukce dat by bylo možné dosáhnout seskupením podle data na úrovni měsíce. Tím byste mohli zajistit 99% redukci velikosti modelu, ale vykazování na úrovni dnů nebo na úrovni individuální objednávky by už nebylo možné. Do rozhodování o shrnutí faktů bude vždy vstupovat kompromis týkající se podrobnosti dat. Nevýhodou je, že můžete ztratit možnost přejít k podrobnostem dat, protože podrobnosti už neexistují.  Tento kompromis lze zmírnit pomocí návrhu smíšeného modelu.

Při použití návrhu smíšeného modelu v Power BI Desktopu vnikne složený model. V podstatě vám umožní určit režim úložiště pro každou tabulku. Každá tabulka může mít vlastnost Režim úložiště nastavenou na Import nebo DirectQuery.

Efektivní technikou redukce velikosti modelu je nastavit vlastnost Režim úložiště u velkých tabulek faktů na DirectQuery. Tento přístup k návrhu může dobře fungovat ve spojení s technikami, které slouží ke shrnutí vašich dat. Shrnuté údaje o prodeji by například bylo možné použít k dosažení vysoce výkonného „souhrnného“ vykazování. Pro zobrazení podrobných prodejů pro konkrétní (úzký) kontext filtru by se vytvořila stránka podrobné analýzy, na které by se zobrazovaly všechny kontextové prodejní objednávky. Tato stránka podrobné analýzy by obsahovala vizuály založené na tabulce DirectQuery a načítala data (podrobnosti) prodejních objednávek.

Další informace najdete v článku Techniky redukce dat pro modelování importu.