La función Table.ToList convierte una tabla en una lista cuyos valores son el resultado de aplicar una función a los valores de cada fila.
Table.ToList(
table as table,
optional combiner as nullable function
) as list
- table: tabla a convertir en lista
- combiner: (opcional) función a aplicar a los valores de cada fila
Esta función convierte los valores de cada fila en un único valor tras aplicarles una función definida por el parámetro combiner. Esta función es, por defecto, Combiner.CombineTextByDelimiter usando la coma como separador, función que requiere que los valores a combinar sean textos.
Podemos convertir una tabla formada por filas que contienen el nombre de pila y apellido de diferentes personas en una lista con el siguiente código:
let
table = Table.FromRecords(
{
[first_name = "John", last_name = "Smith"],
[first_name = "Alfonso", last_name = "Anderson"],
[first_name = "Marta", last_name = "Taylor"]
}
)
in
Table.ToList(
table
)
En este segundo ejemplo partimos de una tabla con tres columnas que no son todas de tipo texto, y definimos una función de concatenación que convierte cada valor en texto -con independencia de su tipo- y concatena los tres valores de cada fila separándolos con un espacio en blanco:
let
data = let
concatena = (a) => Text.From(a{0}) & " " & Text.From(a{1}) & " " & Text.From(a{2}),
table = Table.FromRecords(
{
[id = 1, first_name = "John", last_name = "Smith"],
[id = 2, first_name = "Alfonso", last_name = "Anderson"],
[id = 3, first_name = "Marta", last_name = "Taylor"]
}
)
in
Table.ToList(
table,
concatena
)
in
data