Condividi tramite


Funzione VALUES (DAX)

Restituisce una tabella costituita da una sola colonna contenente valori distinti della colonna specificata. In altre parole, i valori duplicati vengono rimossi e vengono restituiti solo valori univoci.

Nota

Questa funzione non può essere utilizzata per restituire valori in una cella o in una colonna in un foglio di lavoro, ma piuttosto come funzione intermedia, nidificata in una formula, per ottenere un elenco di valori distinti che possono essere contati o utilizzati per filtrare o sommare altri valori.

Sintassi

VALUES(<column>)

Parametri

Termine

Definizione

column

Colonna per la quale devono essere restituiti i valori univoci.

Valore restituito

Colonna di valori univoci.

Osservazioni

Quando si utilizza la funzione VALUES in un contesto filtrato, ad esempio una tabella pivot, il filtro influisce sui valori univoci restituiti da VALUES. Se, ad esempio, si applica un filtro in base all'aera e viene restituito un elenco dei valori relativi alla città, l'elenco includerà solo le città incluse nelle aree previste dal filtro. Per restituire tutte le città, indipendentemente dai filtri esistenti, è necessario utilizzare la funzione ALL per rimuovere i filtri dalla tabella. Nel secondo esempio viene illustrato l'utilizzo di ALL con VALUES.

Funzioni correlate

Nella maggior parte degli scenari, i risultati della funzione VALUES sono identici a quelli della funzione DISTINCT. Entrambe le funzioni consentono di rimuovere i duplicati e restituiscono un elenco dei valori possibili nella colonna specificata. La funzione VALUES può tuttavia restituire anche un membro sconosciuto. Questo valore sconosciuto è utile nei casi in cui si cercano valori distinti di una tabella correlata, ma in una tabella manca un valore utilizzato nella relazione. Nella terminologia dei database, questa situazione è definita violazione dell'integrità referenziale. Mancate corrispondenze di questo tipo nei dati si verificano con facilità quando una tabella viene aggiornata ma la tabella correlata no.

Nella tabella seguente viene riepilogata la mancata corrispondenza tra i dati che può verificarsi in due tabelle correlate quando l'integrità referenziale non viene mantenuta.

Tabella MyOrders

Tabella MySales

June 1

June 1 sales

June 2

June 2 sales

(date degli ordini non immesse)

June 3 sales

Se è stata utilizzata la funzione DISTINCT per restituire un elenco di date dalla tabella pivot che contiene queste tabelle, vengono restituite solo due tabelle. Se tuttavia si utilizza la funzione VALUES, la funzione restituisce le due date più un membro aggiuntivo di tipo blank. Qualsiasi riga della tabella MySales che non dispone di una data corrispondente nella tabella MyOrders viene inoltre messa in corrispondenza con questo membro sconosciuto.

Esempio

Nella formula seguente viene contato il numero di fatture univoche (ordini di vendita) e vengono prodotti i risultati seguenti in caso di utilizzo in un report che include i nomi delle categorie di prodotti:

Row Labels

Count Invoices

Accessories

18,208

Bikes

15,205

Clothing

7,461

Grand Total

27,659

=COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))