SØKEVERDI

Gjelder beregnet beregning av beregnet tabellfor beregnet kolonne

Returnerer verdien for raden som oppfyller alle vilkår angitt av én eller flere søkebetingelser.

Syntaks

LOOKUPVALUE (
    <result_columnName>,
    <search_columnName>,
    <search_value>
    [, <search2_columnName>, <search2_value>]…
    [, <alternateResult>]
)

Parametere

Term Definisjon
result_columnName Navnet på en eksisterende kolonne som inneholder verdien 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 eller i en relatert tabell. Det kan ikke være et uttrykk. Du kan angi flere par search_columnName og search_value.
search_value Verdien du vil søke etter i search_columnName. Du kan angi flere par search_columnName og search_value.
alternateResult (Valgfritt) Verdien som returneres når konteksten for result_columnName er filtrert ned til null eller mer enn én distinkt verdi. Hvis ikke angitt, returnerer funksjonen BLANK når result_columnName filtreres ned til nullverdier eller en feil når det er mer enn én distinkt verdi i konteksten for result_columnName.

Returverdi

Verdien for result_columnName i raden der alle parene search_columnName og search_value har et nøyaktig samsvar.

Hvis det ikke finnes et samsvar som tilfredsstiller alle søkeverdiene, returneres BLANK eller alternateResult (hvis angitt). Funksjonen returnerer med andre ord ikke en oppslagsverdi hvis bare noen av vilkårene samsvarer.

Hvis flere rader samsvarer med søkeverdiene og verdiene i result_columnName for disse radene er identiske, returneres denne verdien. Hvis result_columnName returnerer forskjellige verdier, returneres imidlertid en feil eller alternateResult (hvis angitt).

Merknader

  • Hvis det finnes en relasjon mellom tabellen som inneholder resultatkolonnen og tabellene som inneholder søkekolonnene, er det i de fleste tilfeller mer effektivt å bruke RELATED-funksjonen i stedet for LOOKUPVALUE og gi bedre ytelse.

  • Du kan angi flere par search_columnName og search_value .

  • Parameterne search_value og alternateResult evalueres før funksjonen går gjennom radene i søketabellen.

  • Unngå å bruke ISERROR- eller IFERROR-funksjoner for å registrere en feil som returneres av LOOKUPVALUE. Hvis noen inndata til funksjonen resulterer i en feil når en enkelt utdataverdi ikke kan fastslås, er det å angi en alternateResult-parameter den mest pålitelige og beste måten å håndtere feilen på.

  • AlternateResult-parameteren returnerer en feil hvis angitt i en beregnet Power Pivot-kolonne.

  • Denne funksjonen støttes ikke for bruk i DirectQuery-modus når den brukes i beregnede kolonner eller regler for sikkerhet på radnivå (RLS).

Eksempel 1

I dette eksemplet brukes LOOKUPVALUE til å søke i gjennomsnittssats for valutaen som ble brukt til å betale for bestillingen den dagen ordren ble plassert:

Exchange Rate = 
LOOKUPVALUE (
    'Currency Rate'[Average Rate],
    'Currency Rate'[CurrencyKey], [CurrencyKey],
    'Currency Rate'[DateKey], [OrderDateKey]
)

Både ordredato og valuta kreves for å finne gjennomsnittssatsen for riktig dato og valuta. OrderDateKey og CurrencyKey er nøklene som brukes til å slå opp gjennomsnittssatsen i valutakurstabellen.

Du kan bruke valutakursen til å beregne salgsbeløpet i lokal valuta med:

Sales Amount Local Currency = [Sales Amount] * [Exchange Rate]

Eksempel 2

I dette eksemplet bruker den følgende beregnede kolonnen som er definert i Salg-tabellen , LOOKUPVALUE-funksjonen til å returnere kanalverdier fra Salgsordre-tabellen .

CHANNEL = 
LOOKUPVALUE (
    'Sales Order'[Channel],
    'Sales Order'[SalesOrderLineKey],
    [SalesOrderLineKey]
)

I dette tilfellet, fordi det er en relasjon mellom tabellene Salgsordre og Salg , er det imidlertid mer effektivt å bruke RELATED-funksjonen .

CHANNEL = RELATED('Sales Order'[Channel])

RELATED-funksjon (DAX)
Informasjonsfunksjoner