Agregace představují způsob, jak sbalit, sumarizaci nebo seskupit data. Když začnete s nezpracovanými daty z tabulek nebo jiných zdrojů dat, jsou data často plochá, což znamená, že obsahují spoustu podrobností, ale nejsou žádným způsobem uspořádaná ani seskupovaná. Tento nedostatek souhrnů nebo struktury může ztížit zjišťování vzorů v datech. Důležitou součástí modelování dat je definování agregací, které zjednodušují, abstrahují nebo sumarizují vzory v odpovědi na konkrétní obchodní otázku.
Většinu běžných agregací, jako jsou například agregace POUŽÍVAJÍCÍ PRŮMĚR, COUNT, DISTINCTCOUNT, MAX, MIN nebo SUM , se dají v míře vytvořit automaticky pomocí funkce AutoSum. Jiné typy agregací, například AVERAGEX, COUNTX, COUNTROWS nebo SUMX, vracejí tabulku a vyžadují vzorec vytvořený pomocí jazyka DAX (Data Analysis Expressions).
Principy agregací v Power Pivot
Výběr Skupiny pro agregaci
Když agregujete data, seskupíte data podle atributů, jako je produkt, cena, oblast nebo datum, a pak definujete vzorec, který funguje se všemi daty ve skupině. Když například vytvoříte součet za rok, vytváříte agregaci. Pokud pak vytvoříte poměr tohoto roku oproti předchozímu roku a zobrazíte ho jako procenta, jedná se o jiný typ agregace.
Rozhodnutí o tom, jak data seskupit, je řízeno obchodní otázkou. Agregace můžou například zodpovědět následující otázky:
Počítá Kolik transakcí bylo za měsíc?
Průměry Jaké byly průměrné tržby v tomto měsíci podle prodejce?
Minimální a maximální hodnoty Které oblasti prodeje byly v prvních pěti z hlediska prodaných jednotek?
Pokud chcete vytvořit výpočet, který bude odpovídat na tyto otázky, musíte mít podrobná data obsahující čísla, která se mají spočítat nebo sčítat, a tato číselná data musí nějakým způsobem souviset se skupinami, které použijete k uspořádání výsledků.
Pokud data ještě neobsahují hodnoty, které můžete použít pro seskupení, jako je kategorie produktu nebo název zeměpisné oblasti, ve které se obchod nachází, můžete do dat zavést skupiny přidáním kategorií. Při vytváření skupin v Excelu musíte skupiny, které chcete použít, ručně zadat nebo vybrat ze sloupců na listu. V relačním systému jsou však hierarchie, jako jsou kategorie produktů, často uložené v jiné tabulce než tabulka faktů nebo hodnot. Tabulka kategorií je obvykle propojena s daty faktů pomocí nějakého klíče. Předpokládejme například, že zjistíte, že vaše data obsahují ID produktů, ale ne názvy produktů nebo jejich kategorie. Pokud chcete přidat kategorii do plochého excelového listu, museli byste zkopírovat sloupec, který obsahoval názvy kategorií. Pomocí Power Pivot můžete importovat tabulku kategorií produktů do datového modelu, vytvořit relaci mezi tabulkou s číselnými údaji a seznamem kategorií produktů a potom pomocí kategorií seskupit data. Další informace najdete v tématu Create relace mezi tabulkami.
Volba funkce pro agregaci
Jakmile určíte a přidáte seskupení, která se mají použít, musíte se rozhodnout, které matematické funkce se mají použít pro agregaci. Slovo agregace se často používá jako synonymum pro matematické nebo statistické operace, které se používají v agregacích, jako jsou součty, průměry, minimum nebo počty. Power Pivot ale umožňuje kromě standardních agregací, které se nacházejí v Power Pivot i Excelu, vytvářet vlastní vzorce pro agregaci.
Například s ohledem na stejnou sadu hodnot a seskupení, které byly použity v předchozích příkladech, můžete vytvořit vlastní agregace, které odpovídají na následující otázky:
Filtrované počty Kolik transakcí proběhlo za měsíc, s výjimkou časového období údržby na konci měsíce?
Poměry s použitím průměrů v průběhu času Jaký byl procentuální růst nebo pokles prodeje v porovnání se stejným obdobím loňského roku?
Seskupené minimální a maximální hodnoty Které prodejní oblasti byly seřazeny na nejvyšší pozici pro každou kategorii produktu nebo pro každou propagační akci?
Přidání agregací do vzorců a kontingenčních tabulek
Pokud máte obecnou představu o tom, jak se mají vaše data seskupovat, aby byla smysluplná, a hodnoty, se kterými chcete pracovat, můžete se rozhodnout, jestli chcete vytvořit kontingenční tabulku nebo vytvořit výpočty v rámci tabulky. Power Pivot rozšiřuje a zlepšuje nativní schopnost Excelu vytvářet agregace, jako jsou součty, počty nebo průměry. Vlastní agregace můžete vytvářet v Power Pivot buď v okně Power Pivot, nebo v oblasti kontingenční tabulky Excelu.
-
V počítaném sloupci můžete vytvořit agregace, které berou v úvahu kontext aktuálního řádku a načtou související řádky z jiné tabulky, a pak tyto hodnoty sečtou, počítají nebo zprůměrují v souvisejících řádcích.
-
V míře můžete vytvořit dynamické agregace, které používají filtry definované ve vzorci i filtry stanovené návrhem kontingenční tabulky a výběrem průřezů, záhlaví sloupců a záhlaví řádků. Míry používající standardní agregace je možné v Power Pivot vytvořit pomocí funkce Automatické shrnutí nebo vytvořením vzorce. Implicitní míry můžete také vytvářet pomocí standardních agregací v kontingenční tabulce v Excelu.
Přidání seskupení do kontingenční tabulky
Při návrhu kontingenční tabulky přetáhnete pole, která představují seskupení, kategorie nebo hierarchie, do oddílu sloupců a řádků kontingenční tabulky, aby se seskupily data. Pole obsahující číselné hodnoty pak přetáhnete do oblasti hodnot, aby je bylo možné spočítat, zprůměrovat nebo sečíst.
Pokud do kontingenční tabulky přidáte kategorie, ale data kategorií nesouvisí s daty faktů, může se zobrazit chyba nebo zvláštní výsledky. Obvykle se Power Pivot pokusí problém vyřešit tím, že automaticky zjistí a navrhne relace. Další informace najdete v tématu Práce s relacemi v kontingenčních tabulkách.
Pole můžete také přetáhnout do průřezů a vybrat tak určité skupiny dat pro zobrazení. Průřezy umožňují interaktivně seskupovat, řadit a filtrovat výsledky v kontingenční tabulce.
Práce se seskupeními ve vzorci
Seskupení a kategorie můžete také použít k agregaci dat uložených v tabulkách vytvořením relací mezi tabulkami a následným vytvořením vzorců, které tyto relace využívají k vyhledávání souvisejících hodnot.
Jinými slovy, pokud chcete vytvořit vzorec, který seskupí hodnoty podle kategorie, použijete nejprve relaci k propojení tabulky obsahující podrobná data s tabulkami obsahujícími kategorie a pak vytvoříte vzorec.
Další informace o vytváření vzorců, které používají vyhledávání, najdete v tématu Vyhledávání ve vzorcích Power Pivotu.
Použití filtrů v agregacích
Novou funkcí v Power Pivot je možnost použít filtry na sloupce a tabulky dat, a to nejen v uživatelském rozhraní a v rámci kontingenční tabulky nebo grafu, ale také ve vzorcích, které používáte k výpočtu agregací. Filtry je možné použít ve vzorcích v počítaných sloupcích i v s.
Například v nových agregačních funkcích DAX můžete místo zadávání hodnot, které se mají sečíst nebo spočítat, zadat jako argument celou tabulku. Pokud jste na tuto tabulku nepoužili žádné filtry, agregační funkce by fungovala se všemi hodnotami v zadaném sloupci tabulky. V jazyce DAX však můžete vytvořit dynamický nebo statický filtr tabulky, aby agregace fungovala s jinou podmnožinou dat v závislosti na podmínce filtru a aktuálním kontextu.
Kombinací podmínek a filtrů ve vzorcích můžete vytvořit agregace, které se mění v závislosti na hodnotách zadaných ve vzorcích nebo které se mění v závislosti na výběru záhlaví řádků a sloupců v kontingenční tabulce.
Další informace najdete v tématu Filtrování dat ve vzorcích.
Porovnání agregačních funkcí Excelu a agregačních funkcí DAX
V následující tabulce jsou uvedeny některé standardní agregační funkce poskytované aplikací Excel a odkazy na implementaci těchto funkcí v Power Pivot. Verze DAX těchto funkcí se chová stejně jako verze Excelu s několika drobnými rozdíly v syntaxi a zpracování určitých datových typů.
Standardní agregační funkce
Funkce |
Použití |
Vrátí průměr (aritmetický průměr) všech čísel ve sloupci. |
|
Vrátí průměr (aritmetický průměr) všech hodnot ve sloupci. Zpracovává text a nečíselné hodnoty. |
|
Spočítá počet číselných hodnot ve sloupci. |
|
Spočítá počet hodnot ve sloupci, které nejsou prázdné. |
|
Vrátí největší číselnou hodnotu ve sloupci. |
|
Vrátí největší hodnotu ze sady výrazů vyhodnocených v tabulce. |
|
Vrátí nejmenší číselnou hodnotu ve sloupci. |
|
Vrátí nejmenší hodnotu ze sady výrazů vyhodnocených v tabulce. |
|
Sečte všechna čísla ve sloupci. |
Agregační funkce jazyka DAX
Jazyk DAX obsahuje agregační funkce, které umožňují určit tabulku, pro kterou se má agregace provést. Proto místo pouhého přidávání nebo průměrování hodnot ve sloupci umožňují tyto funkce vytvořit výraz, který dynamicky definuje data, která se mají agregovat.
Následující tabulka uvádí funkce agregace, které jsou k dispozici v jazyce DAX.
Funkce |
Použití |
Zprůměruje sadu výrazů vyhodnocených v tabulce. |
|
Spočítá sadu výrazů vyhodnocených v tabulce. |
|
Spočítá počet prázdných hodnot ve sloupci. |
|
Spočítá celkový počet řádků v tabulce. |
|
Spočítá počet řádků vrácených z vnořené funkce tabulky, jako je například funkce filtru. |
|
Vrátí součet sady výrazů vyhodnocených v tabulce. |
Rozdíly mezi agregačními funkcemi DAX a Excelu
I když mají tyto funkce stejné názvy jako jejich excelové protějšky, využívají analytický modul v paměti Power Pivot a byly přepsány pro práci s tabulkami a sloupci. V excelovém sešitu nelze použít vzorec DAX a naopak. Dají se použít jenom v okně Power Pivot a v kontingenčních tabulkách založených na Power Pivot datech. I když mají funkce identické názvy, chování se může mírně lišit. Další informace najdete v tématech s referenčními informacemi o jednotlivých funkcích.
Způsob, jakým se sloupce v agregaci vyhodnocují, se také liší od způsobu, jakým Excel zpracovává agregace. Příklad může pomoct ilustrovat.
Předpokládejme, že chcete získat součet hodnot ve sloupci Amount (Částka) v tabulce Sales (Prodej), takže vytvoříte následující vzorec:
=SUM('Sales'[Amount])
V nejjednodušším případě funkce získá hodnoty z jednoho nefiltrovaného sloupce a výsledek je stejný jako v Excelu, který vždy pouze sečte hodnoty ve sloupci Amount. V Power Pivot je však vzorec interpretován jako "Získejte hodnotu v hodnotě Amount pro každý řádek tabulky Sales a pak sečtěte tyto jednotlivé hodnoty. Power Pivot vyhodnotí každý řádek, na kterém je agregace provedena, a vypočítá jednu skalární hodnotu pro každý řádek a pak provede agregaci těchto hodnot. Proto se výsledek vzorce může lišit, pokud byly na tabulku použity filtry nebo pokud se hodnoty počítají na základě jiných agregací, které by mohly být filtrovány. Další informace najdete v tématu Kontext ve vzorcích jazyka DAX.
Funkce časového měřítka jazyka DAX
Kromě funkcí agregace tabulek popsaných v předchozí části obsahuje jazyk DAX agregační funkce, které pracují s zadanými daty a časy a poskytují integrované časové měřítko. Tyto funkce používají rozsahy kalendářních dat k získání souvisejících hodnot a agregaci hodnot. Můžete také porovnat hodnoty napříč rozsahy dat.
Následující tabulka uvádí funkce časového měřítka, které je možné použít k agregaci.
Funkce |
Použití |
Vypočítá hodnotu na konci kalendáře daného období. |
|
Vypočítá hodnotu na konci kalendářního období před daným obdobím. |
|
Vypočítá hodnotu v intervalu, který začíná prvním dnem období a končí posledním datem v zadaném sloupci kalendářního data. |
Další funkce v části Funkce časového měřítka (funkce časového měřítka) jsou funkce, které je možné použít k načtení kalendářních dat nebo vlastních rozsahů dat, které se mají použít v agregaci. Můžete například použít funkci DATESINPERIOD k vrácení rozsahu kalendářních dat a tuto sadu kalendářních dat použít jako argument pro jinou funkci k výpočtu vlastní agregace pouze pro tato data.