Table.Group
Группирует в таблице строки, содержащие одинаковый ключ.
Syntax
Table.Group(
table as table,
key as any,
aggregatedColumns as list,
optional groupKind as GroupKind.Type,
optional comparer as function
) as table
Remarks
Группирует строки в table
по ключевым столбцам, определенным с помощью key
. key
может быть именем одного столбца или списком имен столбцов. Для каждой группы создается запись, содержащая ключевые столбцы (и их значения) вместе со всеми агрегированными столбцами, заданными с помощью aggregatedColumns
. Можно также указать groupKind
и comparer
.
Если данные уже отсортированы по ключевым столбцам, можно указать groupKind
для GroupKind.Local. Это может повысить производительность группирования в определенных случаях, так как все строки с заданным набором кл ючевых значений считаются непрерывными.
При передаче comparer
обратите внимание, что если разные ключи считаются равными, строка может быть помещена в группу, ключи которой отличаются от ее собственных ключей.
Эта функция не гарантирует порядок возвращаемых строк.
Examples
Example #1
Группирование таблицы, путем добавления столбца групповой операции [total] с суммой цен (each List.Sum([price])).
Table.Group(
Table.FromRecords({
[CustomerID = 1, price = 20],
[CustomerID = 2, price = 10],
[CustomerID = 2, price = 20],
[CustomerID = 1, price = 10],
[CustomerID = 3, price = 20],
[CustomerID = 3, price = 5]
}),
"CustomerID",
{"total", each List.Sum([price])}
)
Result:
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)
Category
Table.Transformation