LOOKUPVALUE
gjelder:beregnet kolonneberegnet tabellMeasurevisualobjektberegning
Returnerer value for raden som oppfyller all vilkår angitt av én or flere search betingelser.
Syntaks
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
Parametere
Vilkår | Definisjon |
---|---|
result_columnName |
Navnet på en eksisterende kolonne som containsvalue du vil returnere. Det kan ikke være et uttrykk. |
search_columnName |
Navnet på en eksisterende kolonne. Den kan være i samme tabell som result_columnName or i en related tabell. Det kan ikke være et uttrykk. Flere par med search_columnName and search_value kan angis. |
search_value |
Den value å search for i search_columnName. Flere par med search_columnName and search_value kan angis. |
alternateResult |
(Valgfritt) value returnert når konteksten for result_columnName er filtrert ned til null or mer enn én distinkt value. If not angitt returnerer funksjonen BLANK når result_columnName filtreres ned til null valuesor en error når det er mer enn én distinkt value i konteksten for result_columnName. |
Returner value
Den value av result_columnName
på raden der all par med search_columnName
andsearch_value
har en exact kamp.
If det ikke finnes et treff som tilfredsstiller all returneres searchvalues, returneres BLANKoralternateResult
(if angitt). Funksjonen returnerer med andre ord ikke et oppslag valueif bare noen av vilkårene samsvarer.
If flere rader samsvarer med searchvaluesandvalues i result_columnName
for disse radene, returneres den value.
if
result_columnName
returnerer imidlertid forskjellige values, returneres en errororalternateResult
(if angitt).
Merknader
If det er en relasjon mellom tabellen som contains resultatkolonnen and tabeller som inneholder search kolonner, er det i de fleste tilfeller mer effektivt å bruke RELATED-funksjonen i stedet for LOOKUPVALUEand gir bedre ytelse.
Du kan angi flere par
search_columnName
andsearch_value
.De
search_value
andalternateResult
parameterne evalueres før funksjonen går gjennom radene i search tabellen.Unngå å bruke ISERRORorIFERROR funksjoner til å registrere en error som returneres av LOOKUPVALUE. If enkelte inndata til funksjonen resulterer i en error når én enkelt utdata value ikke kan fastslås, er det å angi en
alternateResult
parameter den mest pålitelige and beste måten å håndtere errorpå.Parameteren
alternateResult
returnerer en errorif angitt i en beregnet Power pivotkolonne.Denne funksjonen støttes not for bruk i DirectQuery-modus når den brukes i beregnede kolonner or regler for sikkerhet på radnivå (RLS).
Eksempel 1
I dette eksemplet brukes LOOKUPVALUE til å searchAverageRate for currency som brukes til å betale for ordren på day ordren ble plassert:
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
Både ordre DateandCurrency kreves for å findAverageRate for riktig dateandcurrency. OrderDateKey and CurrencyKey er nøklene som brukes til å slå opp AverageRate i CurrencyRate tabellen.
Du kan bruke Exchange-Rate til å calculate salgsbeløpet i lokal currency med:
Sales Amount Local Currency = [Sales Amount] * [Exchange Rate]
Eksempel 2
I dette eksemplet bruker den følgende beregnede kolonnen som er definert i tabellen Salg, LOOKUPVALUE-funksjonen til å returnere values fra tabellen salgsordre.
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey],
[SalesOrderLineKey]
)
I dette tilfellet, fordi det er en relasjon mellom tabellene SalgsordreandSalg, er det imidlertid mer effektivt å bruke RELATED-funksjonen.
CHANNEL = RELATED('Sales Order'[Channel])