the rows
the levels, top first: property paths, functions or RowGroupFieldIf
Optional options: GroupRowsOptionsIf = {}e.g. the label of empty keys
the groups of the top level (empty for no levels or no rows)
const groups = groupRows(sales, ["region", "produkt"]);
groups[0].label; // "Nord"
groups[0].children[0].getRows(); // the rows of Nord › A
1.1.94
Groups rows by one or more levels – the engine behind AreaModelRowGroups (and pivot tables). One pass over the rows with nested
Maps: keys are compared as values (1and"1"are different groups, two dates of the same time one group);null,undefinedand""form one group (label"(empty)"), which is always last. Groups are ordered by theorderof their level (default ascending); the rows of a group stay in source order. The rows are not changed.Aggregates are filled by aggregateRowGroups.