VALUES
Se aplica a:columna Calculadatabla calculadaMedidacálculo visual
Cuando el parámetro de entrada es un nombre de columna, devuelve una tabla de una columna que contiene los valores distintos de la columna especificada. Los valores duplicados se quitan y solo se devuelven valores únicos. Se puede agregar un valor BLANK. Si el parámetro de entrada es un nombre de tabla, devuelve las filas de la tabla especificada. Las filas duplicadas se conservan. Se puede agregar una fila BLANK.
Nota
Esta función no se puede usar para devolver valores en una celda o columna de una hoja de cálculo; en su lugar, se usa como una función intermedia, anidada en una fórmula, para obtener una lista de valores distintos que se pueden contar o usar para filtrar u sumar otros valores.
Sintaxis
VALUES(<TableNameOrColumnName>)
Parámetros
Término | Definición |
---|---|
TableName o ColumnName |
Columna de la que se van a devolver valores únicos o una tabla desde la que se van a devolver las filas. |
Valor devuelto
Si el parámetro de entrada es un nombre de columna, una tabla de una sola columna. Si el parámetro de entrada es un nombre de tabla, se devuelve una tabla de las mismas columnas.
Notas
Cuando se usa la función VALUES en un contexto filtrado, los valores únicos devueltos por VALUES se ven afectados por el filtro. Por ejemplo, si filtra por Región y devuelve una lista de los valores de City, la lista incluirá solo las ciudades de las regiones permitidas por el filtro. Para devolver todas las ciudades, independientemente de los filtros existentes, debe usar la función ALL para quitar filtros de la tabla. En el segundo ejemplo se muestra el uso de ALL con VALUES.
Esta función no se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas o reglas de seguridad de nivel de fila (RLS).
Para conocer los procedimientos recomendados al usar VALUES, consulte Uso de SELECTEDVALUE en lugar de VALUES.
Funciones relacionadas
En la mayoría de los escenarios, cuando el argumento es un nombre de columna, los resultados de la función VALUES son idénticos a los de la función DISTINCT
. Ambas funciones quitan duplicados y devuelven una lista de los valores posibles en la columna especificada. Sin embargo, la función VALUES también puede devolver un valor en blanco. Este valor en blanco es útil en los casos en los que busca valores distintos de una tabla relacionada, pero falta un valor en la relación de una tabla. En la terminología de bases de datos, esto se denomina una infracción de integridad referencial. Estos errores de coincidencia en los datos pueden producirse cuando se actualiza una tabla y la tabla relacionada no.
Cuando el argumento es un nombre de tabla, el resultado de la función VALUES devuelve todas las filas de la tabla especificada más una fila en blanco, si hay una infracción de integridad referencial. La función DISTINCT quita filas duplicadas y devuelve filas únicas en la tabla especificada.
Nota
La función DISTINCT permite que un nombre de columna o cualquier expresión de tabla válida sea su argumento, pero la función VALUES solo acepta un nombre de columna o un nombre de tabla como argumento.
En la tabla siguiente se resume la discrepancia entre los datos que pueden producirse en dos tablas relacionadas cuando no se conserva la integridad referencial.
Tabla MyOrders | Tabla MySales |
---|---|
1 de junio | Ventas del 1 de junio |
2 de junio | Ventas del 2 de junio |
(no se ha especificado ninguna fecha de pedido) | Ventas del 3 de junio |
Si usa la función DISTINCT para devolver una lista de fechas, solo se devolverán dos fechas. Sin embargo, si usa la función VALUES, la función devuelve las dos fechas más un miembro en blanco adicional. Además, cualquier fila de la tabla MySales que no tenga una fecha coincidente en la tabla MyOrders se "coincidirá" con este miembro desconocido.
Ejemplo
La fórmula siguiente cuenta el número de facturas únicas (pedidos de ventas) y genera los siguientes resultados cuando se usa en un informe que incluye los nombres de categoría de producto:
= COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))
Devuelve
Etiquetas de fila | Recuento de facturas |
---|---|
Accesorios | 18 208 |
Bicicletas | 15 205 |
Ropa | 7 461 |
Total general | 27 659 |