Función VALUES

Esta función es extremadamente útil en diferentes escenarios, y éste es el momento perfecto para introducirla en este curso por primera vez. La función VALUES puede recibir como argumento tanto el nombre de una columna como el de una tabla, y el resultado es ligeramente distinto en ambos casos:

  • Si recibe el nombre de una columna, devuelve una tabla con una columna que contiene los valores únicos de la columna original (más un posible blank si existe una violación de integridad referencial). Es decir, esta función elimina duplicados si el argumento que recibe es una columna.
  • Si recibe el nombre de una tabla, devuelve las filas de la tabla (conservando duplicados si existiesen) más una posible fila de blanks si existe una violación de integridad referencial.
La integridad referencial es el nombre que se da al escenario en el que, en una relación entre dos tablas, para todo valor de la clave externa (o clave foránea) existe un equivalente en la clave primaria. Cuando esto no se cumple, se habla de “violación o infracción de integridad referencial”.

Si quisiéramos probar esta función de una forma sencilla, bastaría con crear una nueva tabla calculada con la siguiente expresión:

Countries = VALUES(Geography[Country])

expresión con la que estamos generando una tabla formada por los valores únicos de la columna Geography[Country]:
 

Función VALUES

En nuestro modelo de datos no se está violando la integridad referencial, de forma que la tabla anterior no incluye ningún blank.