Dada una tabla en la que una columna está formada por listas de valores, la función Table.ExpandListColumn expande cada lista de forma que cada valor se muestre en una fila independiente.
Table.ExpandListColumn(
table as table,
column as text
) as table
- table: tabla en la que expandir una columna
- column: columna a expandir
Todos los valores de la columna a expandir deberán ser listas (incluso aquellas que solo contengan un único valor).
Los valores de las columnas no expandidas se replican en las nuevas filas creadas.
En este ejemplo partimos de la siguiente tabla, en la que el campo "name" está formado por listas:
let
table = Table.FromRecords(
{
[id = 15, name = {"John"}, age = 35],
[id = 21, name = {"Alfonso", "Vitoria"}, age = 58],
[id = 33, name = {"Marta"}, age = 22]
}
)
in
table
Vemos en el código anterior que las filas correspondientes a los identificadores 15 y 33 tienen en el campo "name" una lista formada por un único nombre, mientras que la fila con el identificador 21 tiene en dicho campo una lista formada por dos nombres. Con independencia del número de valores que compongan cada lista, podemos crear filas independientes para cada valor con el siguiente código:
let
table = Table.FromRecords(
{
[id = 15, name = {"John"}, age = 35],
[id = 21, name = {"Alfonso", "Vitoria"}, age = 58],
[id = 33, name = {"Marta"}, age = 22]
}
)
in
Table.ExpandListColumn(
table,
"name"
)
Comprobamos que, tras la expansión, cada valor de cada lista ocupa una fila independiente, y que los demás campos se han replicado cuando ha sido necesario (en nuestro ejemplo, las dos filas generadas a partir de la fila original con el identificador 21 comparten los mismos valores en los campos "id" y "age").