Funkce GROUPBY umožňuje vytvořit souhrn dat pomocí vzorce. Podporuje seskupení podél jedné osy a agregaci souvisejících hodnot. Pokud byste třeba měli tabulku s údaji o prodeji, mohli byste vygenerovat souhrn prodeje podle roků.
Syntaxe
Funkce GROUPBY umožňuje seskupovat, agregovat, řadit a filtrovat data na základě zadaných polí.
Syntaxe funkce GROUPBY :
SESKUPITPODLE(row_fields;hodnoty;funkce;[field_headers];[total_depth];[sort_order];[filter_array];[field_relationship])
| Argument | Popis |
|---|---|
|
row_fields (povinné) |
Sloupcově orientovaná matice nebo oblast obsahující hodnoty, které slouží k seskupení řádků a generování záhlaví řádků. Matice nebo oblast může obsahovat více sloupců. Pokud ano, výstup bude mít více úrovní skupin řádků. |
|
Hodnoty (povinné) |
Sloupcově orientovaná matice nebo oblast dat, která se mají agregovat. Matice nebo oblast může obsahovat více sloupců. Pokud ano, výstup bude mít několik agregací. |
|
Funkce (povinné) |
Explicitní lambda (SUM, PERCENTOF, AVERAGE, COUNT atd.), která se používá k agregaci hodnot. Je možné zadat vektor lambd. Pokud ano, výstup bude mít několik agregací. Orientace vektoru určí, zda jsou rozloženy po řádcích nebo po sloupcích. |
| field_headers | Jedná se o číslo, které určuje, zda row_fields a hodnoty mají záhlaví a zda mají být ve výsledcích vrácena záhlaví polí. Možné hodnoty jsou: Chybí: Automaticky (výchozí) 0: Ne 1: Ano a nezobrazovat 2: Ne, ale generujte 3: Ano a zobrazit Poznámka: Automaticky se předpokládá, že data obsahují záhlaví na základě argumentu hodnoty. Pokud je 1. hodnota text a 2. hodnota číslo, předpokládá se, že data mají záhlaví. Záhlaví polí se zobrazí, pokud existuje více úrovní skupin řádků nebo sloupců. |
| total_depth | Určuje, zda mají záhlaví řádků obsahovat souhrny. Možné hodnoty jsou: Chybí: Automaticky: Celkové součty a, pokud je to možné, mezisoučty (výchozí) 0: Bez součtů 1: Celkové součty 2: Celkové a mezisoučty -1: Celkové součty nahoře -2: Celkové součty a souhrny nahoře Poznámka: Pole souhrnů musí obsahovat aspoň 2 sloupce. Čísla větší než 2 jsou podporována za předpokladu, že pole má dostatečný počet sloupců. |
| sort_order | Číslo určující, jak by měly být řádky seřazeny. Čísla odpovídají sloupcům v row_fields následovaným sloupci v hodnotách. Pokud je číslo záporné, řádky se seřadí sestupně nebo obráceně. Při řazení založeném pouze na row_fields lze poskytnout vektor čísel. |
| filter_array | Sloupcově orientované 1D pole logických hodnot, které označuje, jestli se má vzít v úvahu odpovídající řádek dat. Poznámka: Délka pole musí odpovídat délce polí poskytnutých row_fields. |
| field_relationship | Určuje pole relací, pokud je row_fields poskytnuto více sloupců. Možné hodnoty jsou: 0: Hierarchie (výchozí) 1: Tabulka Při relaci mezi poli hierarchie (0) bere řazení pozdějších sloupců polí v úvahu hierarchii dřívějších sloupců. V případě relace pole tabulky (1) se řazení jednotlivých sloupců pole provádí nezávisle. Mezisoučty nejsou podporované, protože závisí na hierarchii dat. |
Příklady
Příklad 1: Použití funkce GROUPBY k vygenerování souhrnu celkových prodejů podle roku.
Příklad 2: Použití funkce GROUPBY k vygenerování souhrnu celkových prodejů podle produktů. Seřaďte sestupně podle prodeje.