Table.AggregateTableColumn

La función Table.AggregateTableColumn aplica una o varias funciones de agregación a una tabla incluida en una columna de otra tabla, devolviendo una tabla con columnas conteniendo el resultado de las agregaciones.

Sintaxis

Table.AggregateTableColumn(
    table as table,
    column as text,
    aggregations as list
) as table

Parámetros
  • table: tabla externa
  • column: nombre de la columna que contiene la tabla interna
  • aggregations: lista de agregaciones a realizar
Información adicional

El parámetro aggregations es una lista de listas, una para cada agregación a realizar. Cada una de estas agregaciones vendrá definida por tres valores: el nombre de la columna a la que aplicar la función de agregación, la función de agregación a aplicar, y el nombre de la columna a crear conteniendo el resultado de la función de agregación.

Ejemplos

En este ejemplo partimos de una tabla que contiene dos campos: el nombre del vendedor (columna "name") y una tabla con el detalle de las ventas de dicho vendedor (columna "sales"):

let
    Source = Table.FromRecords(
        {
            [name = "Peter", sales = Table.FromRecords(
                {
                    [customer = 2, price = 25],
                    [customer = 5, price = 30]
                }
            )],
            [name = "Martha", sales = Table.FromRecords(
                {
                    [customer = 2, price = 40],
                    [customer = 1, price = 10],
                    [customer = 6, price = 20]
                }
            )]
        }
    )
in
    Source

Función M Table.AggregateTableColumn

Podemos visualizar, por ejemplo, la tabla de ventas de Peter haciendo clic en el enlace Table que aparece a la derecha de su etiqueta:

Función M Table.AggregateTableColumn

Ahora deseamos generar una tabla con información agregada extraída de la tabla contenida en la columna "sales". Por ejemplo, podríamos extraer el número de ventas, la suma de los importes de venta y el mayor importe de venta de cada vendedor con el siguiente código:

let
    Source = Table.FromRecords(
        {
            [name = "Peter", sales = Table.FromRecords(
                {
                    [customer = 2, price = 25],
                    [customer = 5, price = 30]
                }
            )],
            [name = "Martha", sales = Table.FromRecords(
                {
                    [customer = 2, price = 40],
                    [customer = 1, price = 10],
                    [customer = 6, price = 20]
                }
            )]
        },
        type table [sales = table [customer = number, price = number]]
    )
in
    Table.AggregateTableColumn(
        Source,
        "sales",
        {
            {"customer", List.Count, "# Sales"},
            {"price", List.Sum, "Total Sales"},
            {"price", List.Max, "Max Sale"}
        }
    )

Función M Table.AggregateTableColumn
Categoría
Funciones de tabla
Enviado por admin el Sáb, 05/09/2020 - 09:41