Del via


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_columnNameandsearch_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_columnNameandsearch_value.

  • De search_valueandalternateResult 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])

RELATED (funksjon )DAXInformasjonsfunksjoner