Table.ContainsAll

La función Table.ContainsAll evalúa si todos los registros indicados aparecen incluidos en una o varias filas de una tabla, devolviendo el valor lógico True en caso positivo y False en caso contrario.

Sintaxis

Table.ContainsAll(
    table as table,
    rows as list,
    optional equationCriteria as any
) as logical

Parámetros
  • table: tabla a evaluar
  • rows: lista de registros conteniendo los campos cuya existencia en la tabla se desea comprobar
  • equationCriteria: (opcional) parámetro no documentado. Supuestamente controla el método de comparación de filas en la tabla.
Información adicional

La función devuelve el valor lógico True solo si todos los registros aparecen incluidos en una o más filas de la tabla.

Ejemplos

En este ejemplo buscamos los nombres "Alfonso" y "Jorge" en el campo "name" de la tabla. Como el segundo nombre no aparece, la función devuelve el valor lógico False:

let
    table = Table.FromRecords(
        {
            [id = 1, name = "John", country = "Uruguay"],
            [id = 2, name = "Alfonso", country = "Chile"],
            [id = 3, name = "Anacelia", country = "Argentina"],
            [id = 2, name = "Luis", country = "España"]
        }
    )
in
    Table.ContainsAll(
        table,
        {
            [name = "Alfonso"],
            [name = "Jorge"]
        }
    )

FALSE
Función M Table.ContainsAll

Ahora repetimos la búsqueda con los textos "Alfonso" y "Anacelia", ambos presentes en la tabla:

let
    table = Table.FromRecords(
        {
            [id = 1, name = "John", country = "Uruguay"],
            [id = 2, name = "Alfonso", country = "Chile"],
            [id = 3, name = "Anacelia", country = "Argentina"],
            [id = 2, name = "Luis", country = "España"]
        }
    )
in
    Table.ContainsAll(
        table,
        {
            [name = "Alfonso"],
            [name = "Anacelia"]
        }
    )

TRUE

Función M Table.ContainsAll

Por supuesto, podemos buscar diferentes campos en diferentes registros:

let
    table = Table.FromRecords(
        {
            [id = 1, name = "John", country = "Uruguay"],
            [id = 2, name = "Alfonso", country = "Chile"],
            [id = 3, name = "Anacelia", country = "Argentina"],
            [id = 2, name = "Luis", country = "España"]
        }
    )
in
    Table.ContainsAll(
        table,
        {
            [name = "Alfonso"],
            [country = "España"]
        }
    )

TRUE

Función M Table.ContainsAll

De hecho, podría ocurrir que todos (o algunos) de los registros buscados estuviesen incluidos en la misma fila de la tabla:

let
    table = Table.FromRecords(
        {
            [id = 1, name = "John", country = "Uruguay"],
            [id = 2, name = "Alfonso", country = "Chile"],
            [id = 3, name = "Anacelia", country = "Argentina"],
            [id = 2, name = "Luis", country = "España"]
        }
    )
in
    Table.ContainsAll(
        table,
        {
            [name = "Alfonso"],
            [country = "Chile"]
        }
    )

TRUE

Función M Table.ContainsAll
Categoría
Funciones de tabla
Submitted by admin on Thu, 08/13/2020 - 13:34