VALUES
Van toepassing op:berekende kolomberekende tabelMetingVisuele berekening
Wanneer de invoerparameter een kolomnaam is, retourneert u een tabel met één kolom die de afzonderlijke waarden van de opgegeven kolom bevat. Dubbele waarden worden verwijderd en alleen unieke waarden worden geretourneerd. Een BLANK waarde kan worden toegevoegd. Wanneer de invoerparameter een tabelnaam is, worden de rijen uit de opgegeven tabel geretourneerd. Dubbele rijen blijven behouden. Er kan een BLANK rij worden toegevoegd.
Notitie
Deze functie kan niet worden gebruikt om waarden te retourneren in een cel of kolom op een werkblad; In plaats daarvan gebruikt u deze als een tussenliggende functie, genest in een formule, om een lijst met afzonderlijke waarden op te halen die kunnen worden geteld of gebruikt om andere waarden te filteren of op te tellen.
Syntaxis
VALUES(<TableNameOrColumnName>)
Parameters
Term | Definitie |
---|---|
TableName of ColumnName |
Een kolom waaruit unieke waarden moeten worden geretourneerd, of een tabel waaruit rijen moeten worden geretourneerd. |
Retourwaarde
Wanneer de invoerparameter een kolomnaam is, wordt één kolomtabel gebruikt. Wanneer de invoerparameter een tabelnaam is, wordt een tabel met dezelfde kolommen geretourneerd.
Opmerkingen
Wanneer u de functie VALUES gebruikt in een context die is gefilterd, worden de unieke waarden die worden geretourneerd door VALUES beïnvloed door het filter. Als u bijvoorbeeld filtert op Regio en een lijst met de waarden voor Plaats retourneert, bevat de lijst alleen de plaatsen in de regio's die zijn toegestaan door het filter. Als u alle steden wilt retourneren, ongeacht bestaande filters, moet u de functie ALL gebruiken om filters uit de tabel te verwijderen. In het tweede voorbeeld ziet u het gebruik van ALL met VALUES.
Deze functie wordt niet ondersteund voor gebruik in de DirectQuery-modus wanneer deze wordt gebruikt in regels voor beveiliging op rijniveau (berekende kolommen of beveiliging op rijniveau).
Zie VALUESvoor aanbevolen procedures bij het gebruik van SELECTEDVALUE.
Gerelateerde functies
In de meeste scenario's, wanneer het argument een kolomnaam is, zijn de resultaten van de functie VALUES identiek aan die van de functie DISTINCT
. Beide functies verwijderen duplicaten en retourneren een lijst met de mogelijke waarden in de opgegeven kolom. De functie VALUES kan echter ook een lege waarde retourneren. Deze lege waarde is handig in gevallen waarin u afzonderlijke waarden uit een gerelateerde tabel zoekt, maar een waarde die in de relatie wordt gebruikt, ontbreekt in één tabel. In databaseterminologie wordt dit een schending van referentiële integriteit genoemd. Dergelijke verschillen in gegevens kunnen optreden wanneer één tabel wordt bijgewerkt en de gerelateerde tabel niet.
Wanneer het argument een tabelnaam is, retourneert het resultaat van de functie VALUES alle rijen in de opgegeven tabel plus een lege rij als er sprake is van een schending van referentiële integriteit. De functie DISTINCT verwijdert dubbele rijen en retourneert unieke rijen in de opgegeven tabel.
Notitie
Met de functie DISTINCT kan een kolomnaam of een geldige tabelexpressie het argument zijn, maar de functie VALUES accepteert alleen een kolomnaam of tabelnaam als argument.
De volgende tabel bevat een overzicht van de niet-overeenkomende gegevens die kunnen optreden in twee gerelateerde tabellen wanneer referentiële integriteit niet behouden blijft.
Tabel MyOrders | Tabel MySales |
---|---|
1 juni | Verkoop van 1 juni |
2 juni | Verkoop van 2 juni |
(er zijn geen orderdatums ingevoerd) | Verkoop van 3 juni |
Als u de functie DISTINCT gebruikt om een lijst met datums te retourneren, worden er slechts twee datums geretourneerd. Als u echter de functie VALUES gebruikt, retourneert de functie de twee datums plus een extra leeg lid. Bovendien wordt een rij uit de tabel MySales die geen overeenkomende datum in de tabel MyOrders heeft, 'vergeleken' met dit onbekende lid.
Opmerking
De volgende formule telt het aantal unieke facturen (verkooporders) en produceert de volgende resultaten wanneer deze worden gebruikt in een rapport met de productcategorienamen:
= COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))
Retouren
Rijlabels | Facturen tellen |
---|---|
Accessoires | 18,208 |
Fietsen | 15,205 |
Kleding | 7,461 |
Eindtotaal | 27,659 |