La función Table.IsDistinct comprueba si todas las filas de una tabla son distintas, devolviendo el valor lógico True en caso positivo.
Table.IsDistinct(
table as table,
optional comparisonCriteria as any
) as logical
- table: tabla a evaluar
- comparisonCriteria: (opcional) columnas a comparar
Por defecto, la función Table.IsDistinct comprueba la igualdad de todos los valores de las filas. Si se añade el parámetro comparisonCriteria, solo se comprobarán las columnas incluidas en él.
En este ejemplo partimos de una tabla conteniendo el identificador, nombre y ventas asociadas a un vendedor, y usamos la función Table.IsDistinct para comprobar si no hay registros duplicados, obteniendo el valor lógico True pues, efectivamente, todas las filas son distintas:
let
Source = Table.FromRecords(
{
[id = 15, name = "John", sales = 25],
[id = 21, name = "Alfonso", sales = 12],
[id = 33, name = "Marta", sales = 25]
}
)
in
Table.IsDistinct(
Source
)
TRUE
Siguiendo con el mismo ejemplo, si añadimos una cuarta fila copia de una anterior, el resultado es el contrario:
let
Source = Table.FromRecords(
{
[id = 15, name = "John", sales = 25],
[id = 21, name = "Alfonso", sales = 12],
[id = 33, name = "Marta", sales = 25],
[id = 21, name = "Alfonso", sales = 12]
}
)
in
Table.IsDistinct(
Source
)
FALSE
Si, volviendo a la tabla original, añadimos el segundo parámetro, comparisonCriteria, indicando que solo se compruebe el campo "sales", la función ahora sí detecta filas duplicadas (pues hay dos registros con la misma cifra en dicho campo):
let
Source = Table.FromRecords(
{
[id = 15, name = "John", sales = 25],
[id = 21, name = "Alfonso", sales = 12],
[id = 33, name = "Marta", sales = 25]
}
)
in
Table.IsDistinct(
Source,
"sales"
)