GROUPBY – seskupování v datových modelech pomocí DAX (DAX – Power Pivot, Power BI)
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
Tento článek je o funkcí GROUPBY. Ta vytváří v Power BI seskupené tabulky, které si můžeme představit trochu jako kontingenční tabulky - tedy jako jakési souhrny nebo součty po skupinách.
Vyjdeme z této tabulky s auty, kterou budeme postupně seskupovat podle různých kritérií.
Samotné seskupení bez výpočtu
Nejprve budeme chtít pouze seskupit podle značek (tedy vypsat značky).
Vytvoříme novou tabulku a tu definujeme takto:
- List of brands = GROUPBY(
cars,
cars[Brand])
Syntaxe tedy obsahuje:
- Název tabulky, kterou seskupujeme
- Název sloupce z této tabulky, který seskupujeme
Seskupení podle více sloupců
Co kdybychom ale chtěli seskupovat nejen podle značek, ale i podle modelů? Postačí přidat další argument s odkazem na seskupovaný sloupec:
- List of brands and models = GROUPBY(
cars,
cars[Brand],
cars[Model])
Syntaxe tedy obsahuje:
- Název tabulky, kterou seskupujeme
- Postupně vypsané všechny sloupce, podle kterých seskupujeme
Seskupení s výpočtem
Do tabulky bychom samozřejmě mohli přidat, do nového sloupce, i mezisoučty - např. vysčítané ceny. V tomto případě sleduji součty cen a jejich počty:
- List of brands and models and prices = GROUPBY(
cars,
cars[Brand],
cars[Model],
"Total price",
SUMX(
CURRENTGROUP(),
cars[ Price ]))
Zápis obsahuje:
- Název tabulky, kterou seskupujeme
- Postupně vypsané sloupce, podle kterých se seskupuje
- Název "počítaného" sloupce
- Zápis seskupení prvního "počítacího" sloupce, zapsaný pomocí "xové" funkce jako je COUNTX, SUMX... atd v kombinaci s funkcí CURRENTGROUP
- Název a seskupení pro další sloupce atd.
Dvě poznámky na konec
- Podobně jako GROUPBY funguje funkce SUMMARIZE.
- SUMMARIZE i GROUPBY se pěkně používají pro zjištění počtu unikátních hodnot, pokud je třeba pracovat s více sloupečky a nestačí DISTINCTCOUNT.
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.