Læs på engelsk

Del via


LOOKUPVALUE

gælder for:beregnet kolonneberegnet tabelberegning af målingvisualisering

Returnerer værdien for den række, der opfylder alle de kriterier, der er angivet af en eller flere søgebetingelser.

Syntaks

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

Parametre

Udtryk Definition
result_columnName Navnet på en eksisterende kolonne, der indeholder den værdi, du vil returnere. Det kan ikke være et udtryk.
search_columnName Navnet på en eksisterende kolonne. Det kan være i den samme tabel som result_columnName eller i en relateret tabel. Det kan ikke være et udtryk. Der kan angives flere par af search_columnName og search_value.
search_value Den værdi, der skal søges efter i search_columnName. Der kan angives flere par af search_columnName og search_value.
alternateResult (Valgfrit) Den værdi, der returneres, når konteksten for result_columnName er filtreret ned til nul eller mere end én entydig værdi. Hvis den ikke er angivet, returnerer funktionen BLANK, når result_columnName filtreres ned til nulværdier eller en fejl, når der er mere end én entydig værdi i konteksten for result_columnName.

Returværdi

Værdien af result_columnName på den række, hvor alle par af search_columnName og search_value har et nøjagtigt match.

Hvis der ikke er et match, der opfylder alle søgeværdierne, returneres BLANK eller alternateResult (hvis det er angivet). Funktionen returnerer med andre ord ikke en opslagsværdi, hvis kun nogle af kriterierne stemmer overens.

Hvis flere rækker svarer til søgeværdierne, og værdierne i result_columnName for disse rækker er identiske, returneres denne værdi. Men hvis result_columnName returnerer forskellige værdier, returneres der en fejl eller alternateResult (hvis det er angivet).

Bemærkninger

  • Hvis der er en relation mellem den tabel, der indeholder resultatkolonnen, og tabeller, der indeholder søgekolonnerne, er det i de fleste tilfælde mere effektivt at bruge funktionen RELATED i stedet for LOOKUPVALUE og giver bedre ydeevne.

  • Der kan angives flere par af search_columnName og search_value.

  • Parametrene search_value og alternateResult evalueres, før funktionen gentager sig gennem rækkerne i søgetabellen.

  • Undgå at bruge funktionerne ISERROR eller IFERROR til at registrere en fejl, der returneres af LOOKUPVALUE. Hvis nogle input til funktionen resulterer i en fejl, når en enkelt outputværdi ikke kan bestemmes, er angivelse af en alternateResult parameter den mest pålidelige og mest effektive måde at håndtere fejlen på.

  • Parameteren alternateResult returnerer en fejl, hvis den er angivet i en beregnet kolonne i Power Pivot.

  • Denne funktion understøttes ikke til brug i DirectQuery-tilstand, når den bruges i beregnede kolonner eller RLS-regler (row-level security).

Eksempel 1

I dette eksempel bruges LOOKUPVALUE til at søge efter gennemsnitskursen for den valuta, der bruges til at betale for ordren den dag, ordren blev afgivet:

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

Både Ordredato og Valuta er påkrævet for at finde middelkursen for den korrekte dato og valuta. OrderDateKey og CurrencyKey er de nøgler, der bruges til at slå Middelkurs op i tabellen Valutakurs.

Du kan bruge valutakursen til at beregne salgsbeløbet i lokal valuta med:

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

Eksempel 2

I dette eksempel bruger følgende beregnede kolonne, der er defineret i tabellen Sales, funktionen LOOKUPVALUE til at returnere kanalværdier fra tabellen Sales Order.

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

Men da der i dette tilfælde er en relation mellem tabellerne Sales Order og Sales, er det mere effektivt at bruge funktionen RELATED.

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

funktionen RELATED (DAX)
informationsfunktioner