Table.Group
Tabloda aynı anahtara sahip olan satırları gruplandırır.
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
satırlarını key
ile tanımlanan anahtar sütunlara göre gruplandırır. key
tek bir sütun adı ya da sütun adları listesi olabilir. Her grup için, aggregatedColumns
ile belirtilen toplu sütunlarla birlikte anahtar sütunları (ve değerlerini) içeren bir kayıt oluşturulur. İsteğe bağlı olarak, groupKind
ve comparer
de belirtilebilir.
Veriler anahtar sütunlara göre önceden sıralanmışsa, bir GroupKind.Local groupKind
değeri sağlanabilir. Bu işlem, belirli durumlarda gruplandırmanın performansını iyileştirebilir; çünkü belirli bir anahtar değerler kümesi içeren tüm satırların bitişik olduğu varsayılır.
Bir comparer
geçerken, farklı anahtarları eşit olarak değerlendirirse, bir satırın, anahtarları kendininkinden farklı olan bir gruba yerleştirilebileceğini unutmayın.
Bu işlev döndürdüğü satırların sıralamasını garanti etmez.
Examples
Example #1
Fiyatlar toplamını ("each List.Sum([price])") içeren bir [total] toplama sütunu ekleyerek tabloyu gruplandırır.
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