Skip to main content

Table.Group

Rindas tiek grupētas tabulā, kam ir tāda pati atslēga.

Syntax

Table.Group(
table as table,
key as any,
aggregatedColumns as list,
optional groupKind as GroupKind.Type,
optional comparer as function
) as table

Remarks

Grupē vienuma table rindas pēc atslēgu kolonnām, kuras definētas ar key. key var būt gan vienas kolonnas nosaukums, gan kolonnu nosaukumu saraksts. Katrai grupai tiek izveidots ieraksts, kas satur atslēgu kolonnas (un to vērtības), kā arī visas apkopotās kolonnas, kuras norāda aggregatedColumns. Pēc izvēles var norādīt groupKind un comparer.

Ja dati jau ir sakārtoti pēc atslēgu kolonnām, var norādīt GroupKind.Local groupKind. Tas dažos gadījumos var uzlabot grupēšanas veiktspēju, tā kā tiek pieņemts, ka visas rindas ar noteiktu galveno vērtību kopumu ir blakus.

Ievadot comparer, ņemiet vērā, ka, ja dažādus taustiņus uzskata par vienādiem, rindu var ievietot grupā, kuras atslēgas atšķiras no tās.

Šī funkcija negarantē, ka tiek atgriezto rindu secība.

Examples

Example #1

Grupējiet tabulu, pievienojot apkopotu kolonnu [total], kurā ietverta cenu summa ("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