La función VALUES devuelve una tabla conteniendo los valores distintos que la columna incluida como argumento toma en el contexto actual incluyendo un posible valor Blank, o bien una copia de la tabla incluida como argumento más una posible filas de Blanks.
VALUES(
TableNameOrColumnName
)
- TableNameOrColumnName: Nombre de una tabla o de una columna cuyos valores distintos se desea obtener.
La función VALUES devuelve una tabla conteniendo los valores distintos identificados en la columna o tabla indicadas.
En la mayor parte de los casos, el resultado devuelto por esta función y por DISTINCT es el mismo, pues ambas funciones eliminan los valores duplicados y devuelven la lista de valores únicos. Pero VALUES puede incluir un Blank en aquellos escenarios en los que se produzca lo que se conoce como violación de integridad referencial (por ejemplo, cuando se está extrayendo información de una tabla relacionada pero el valor usado en la relación no existe en una de las tablas).
En el caso de que el argumento pasado a la función sea una columna, la función elimina los valores duplicados. Si se trata de una tabla, se mantienen los duplicados.
Si tenemos una tabla con ventas en la que definimos la siguiente medida para totalizar las ventas en el contexto actual:
Ventas = SUM(FactSales[SalesAmount])
...podemos llevar a una matriz las categorías, subcategorías y ventas, de la siguiente forma:
Ahora podemos añadir un campo que nos indique el número de subcategorías siendo consideradas en cada una de las filas de la matriz si definimos la siguiente medida:
# = COUNTROWS(VALUES(DimProductSubcategory[ProductSubcategoryName]))
En esta medida extraemos el conjunto de valores que toma el campo DimProductSubcategory[ProductSubcategoryName] y contamos el número de valores que hay en el resultado. Si llevamos esta medida a la matriz, queda de la siguiente forma:
Vemos cómo dicha medida devuelve 1 para todos aquellos contextos en los que solo existe una subcategoría, y el número de subcategorías en los cálculos de los totales por categoría.