La función Table.RemoveLastN devuelve una tabla tras eliminar las úlitmas N filas o las últimas filas que satisfagan una cierta condición.
Table.RemoveLastN(
table as table,
optional countOrCondition as any
) as table
- table: tabla de la que eliminar las últimas filas
- countOrCondition: (opcional) número de filas a eliminar o condición que deberán satisfacer para ser eliminadas
Si el argumento countOrCondition es un valor numérico, se eliminará dicho número de filas del final de la tabla. Si se eliminan más filas de las que hay, se devuelve una tabla vacía.
Si se trata de una condición, la función eliminará las filas del final de la tabla que la satisfagan hasta que encuentre la primera que no lo haga (recorriendo la tabla desde la última fila hacia la primera).
Si se especifica 0 como número de filas a eliminar, o si ninguna fila satisface la condición indicada, la función devuelve la tabla original.
Si no se especifica el argumento countOrCondition, se elimina la última fila de la tabla.
En este ejemplo partimos de la siguiente tabla:
let
table = Table.FromRecords(
{
[id = 1, name = "John", age = 38],
[id = 2, name = "Alicia", age = 56],
[id = 3, name = "Marta", age = 28],
[id = 4, name = "Alfonso", age = 34]
}
)
in
table
...y queremos eliminar la última fila, lo que podemos conseguir con el siguiente código:
let
table = Table.FromRecords(
{
[id = 1, name = "John", age = 38],
[id = 2, name = "Alicia", age = 56],
[id = 3, name = "Marta", age = 28],
[id = 4, name = "Alfonso", age = 34]
}
)
in
Table.RemoveLastN(
table
)
Siguiendo con el mismo ejemplo, podemos eliminar un número concreto de filas del final de la tabla añadiendo como segundo argumento dicho número:
let
table = Table.FromRecords(
{
[id = 1, name = "John", age = 38],
[id = 2, name = "Alicia", age = 56],
[id = 3, name = "Marta", age = 28],
[id = 4, name = "Alfonso", age = 34]
}
)
in
Table.RemoveLastN(
table,
2
)
Si, en lugar de un número entero, incluimos una condición como segundo argumento, la función eliminará las filas del final de la tabla que cumplan dicha condición hasta que encuentre la primera que no lo haga, en cuyo caso termina la eliminación:
let
table = Table.FromRecords(
{
[id = 1, name = "John", age = 38],
[id = 2, name = "Alicia", age = 56],
[id = 3, name = "Marta", age = 28],
[id = 4, name = "Alfonso", age = 34]
}
)
in
Table.RemoveLastN(
table,
each [age] < 40
)