VALUES
gjelder:beregnet kolonneberegnet tabellmålevisualobjektberegning
Når inndataparameteren er et kolonnenavn, returnerer du en tabell med én kolonne som inneholder de distinkte verdiene fra den angitte kolonnen. Dupliserte verdier fjernes, og bare unike verdier returneres. En BLANK verdi kan legges til. Når inndataparameteren er et tabellnavn, returnerer radene fra den angitte tabellen. Dupliserte rader beholdes. En BLANK rad kan legges til.
Merk
Denne funksjonen kan ikke brukes til å returnere verdier til en celle eller kolonne i et regneark. I stedet bruker du den som en mellomliggende funksjon, nestet i en formel, for å få en liste over distinkte verdier som kan telles eller brukes til å filtrere eller summere andre verdier.
Syntaks
VALUES(<TableNameOrColumnName>)
Parametere
Term | Definisjon |
---|---|
TableName eller ColumnName |
En kolonne som unike verdier skal returneres fra, eller en tabell som rader skal returneres fra. |
Returverdi
Når inndataparameteren er et kolonnenavn, en enkelt kolonnetabell. Når inndataparameteren er et tabellnavn, returneres en tabell med de samme kolonnene.
Merknader
Når du bruker VALUES-funksjonen i en kontekst som er filtrert, påvirkes de unike verdiene som returneres av VALUES av filteret. Hvis du for eksempel filtrerer etter område og returnerer en liste over verdiene for Poststed, vil listen bare inkludere de byene i områdene som er tillatt av filteret. Hvis du vil returnere alle byene, uavhengig av eksisterende filtre, må du bruke ALL-funksjonen til å fjerne filtre fra tabellen. Det andre eksemplet viser bruk av ALL med VALUES.
Denne funksjonen støttes ikke for bruk i DirectQuery-modus når den brukes i beregnede kolonner eller regler for sikkerhet på radnivå (RLS).
Hvis du vil ha anbefalte fremgangsmåter når du bruker VALUES, kan du se Bruke SELECTEDVALUE i stedet for VALUES.
Relaterte funksjoner
I de fleste scenarioer, når argumentet er et kolonnenavn, er resultatene av VALUES-funksjonen identiske med DISTINCT
-funksjonen. Begge funksjonene fjerner duplikater og returnerer en liste over mulige verdier i den angitte kolonnen.
VALUES-funksjonen kan imidlertid også returnere en tom verdi. Denne tomme verdien er nyttig i tilfeller der du søker etter distinkte verdier fra en relatert tabell, men en verdi som brukes i relasjonen, mangler i én tabell. I databaseterminologi kalles dette brudd på referanseintegritet. Slike uoverensstemmelser i data kan oppstå når én tabell oppdateres og den relaterte tabellen ikke er det.
Når argumentet er et tabellnavn, returnerer resultatet av VALUES-funksjonen alle rader i den angitte tabellen pluss en tom rad, hvis det er brudd på referanseintegritet. DISTINCT-funksjonen fjerner dupliserte rader og returnerer unike rader i den angitte tabellen.
Merk
DISTINCT-funksjonen lar et kolonnenavn eller et gyldig tabelluttrykk være argumentet, men VALUES-funksjonen godtar bare et kolonnenavn eller et tabellnavn som argument.
Tabellen nedenfor oppsummerer manglende samsvar mellom data som kan forekomme i to relaterte tabeller når referanseintegritet ikke bevares.
MyOrders-tabell | MySales-tabell |
---|---|
1. juni kl. | Salg 1. juni |
2. juni kl. | Salg 2. juni |
(ingen ordredatoer er angitt) | Salg 3. juni |
Hvis du bruker DISTINCT-funksjonen til å returnere en liste over datoer, returneres bare to datoer. Hvis du imidlertid bruker VALUES-funksjonen, returnerer funksjonen de to datoene pluss et ekstra tomt medlem. I tillegg vil alle rader fra MySales-tabellen som ikke har en samsvarende dato i MyOrders-tabellen, bli "matchet" med dette ukjente medlemmet.
Eksempel
Følgende formel teller antall unike fakturaer (salgsordrer), og gir følgende resultater når de brukes i en rapport som inkluderer produktkategorinavnene:
= COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))
Returnerer
Radetiketter | Telle fakturaer |
---|---|
Tilbehør | 18,208 |
Sykler | 15,205 |
Klær | 7,461 |
Grand Total | 27,659 |