Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:
beräknad kolumn
beräknad tabell
Mått
Visuell beräkning
Returnerar värdet för raden som uppfyller alla villkor som anges av ett eller flera sökvillkor.
Syntax
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
Parametrar
| Term | Definition |
|---|---|
result_columnName |
Namnet på en befintlig kolumn som innehåller det värde som du vill returnera. Det kan inte vara ett uttryck. |
search_columnName |
Namnet på en befintlig kolumn. Den kan finnas i samma tabell som result_columnName eller i en relaterad tabell. Det kan inte vara ett uttryck. Du kan ange flera par med search_columnName och search_value. |
search_value |
Värdet som ska sökas efter i search_columnName. Du kan ange flera par med search_columnName och search_value. |
alternateResult |
(Valfritt) Värdet som returneras när kontexten för result_columnName filtreras ned till noll eller mer än ett distinkt värde. Om den inte anges returnerar BLANK funktionen när result_columnName filtreras ned till noll värden, eller ett fel när kontexten för result_columnName har mer än ett distinkt värde. |
Returvärde
Värdet för result_columnName på raden där alla par av search_columnName och search_value har en exakt matchning.
Om ingen matchning uppfyller alla sökvärden returnerar BLANK funktionen eller alternateResult (om den anges). Med andra ord returnerar funktionen inte ett uppslagsvärde om bara vissa av kriterierna matchar.
Om flera rader matchar sökvärdena och värdena i result_columnName för dessa rader är identiska returneras det värdet. Men om result_columnName returnerar olika värden returnerar funktionen ett fel eller alternateResult (om det anges).
Anmärkningar
Om det finns en relation mellan tabellen som innehåller resultatkolumnen och tabellerna som innehåller sökkolumnerna är det i de flesta fall effektivare att använda RELATED funktionen i stället för LOOKUPVALUE och ge bättre prestanda.
Du kan ange flera par av
search_columnNameochsearch_value.Parametrarna
search_valueochalternateResultutvärderas innan funktionen itererar genom raderna i söktabellen.Undvik att använda ISERROR eller IFERROR för att samla in ett fel som returneras av LOOKUPVALUE. Om vissa indata till funktionen resulterar i ett fel när ett enda utdatavärde inte kan fastställas, är det mest tillförlitliga och mest högpresterande sättet att hantera felet att tillhandahålla en
alternateResultparameter.Parametern
alternateResultreturnerar ett fel om det anges i en beräknad Power Pivot-kolumn.-
Den här funktionen stöds inte för användning i DirectQuery-läge när den används i beräknade kolumner eller säkerhetsregler på radnivå (RLS).
Exempel i den här artikeln kan användas med exempelmodellen Adventure Works DW 2020 Power BI Desktop. Information om hur du hämtar modellen finns i DAX exempelmodell.
Exempel 1
I det här exemplet LOOKUPVALUE söker genomsnittskursen efter den valuta som används för att betala för beställningen den dag då ordern gjordes:
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
Du behöver både orderdatum och valuta för att hitta genomsnittskursen för rätt datum och valuta. OrderDateKey och CurrencyKey är de nycklar som används för att slå upp genomsnittskursen i tabellen Valutakurs.
Du kan använda växelkursen för att beräkna försäljningsbeloppet i lokal valuta med:
Sales Amount Local Currency =
[Sales Amount] * [Exchange Rate]
Exempel 2
I det här exemplet använder följande beräknade kolumn som definierats i tabellen Sales funktionen LOOKUPVALUE för att returnera kanalvärden från tabellen Sales Order.
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey], [SalesOrderLineKey]
)
Men i det här fallet, eftersom det finns en relation mellan tabellerna Försäljningsorder och Försäljning , är det mer effektivt att använda RELATED funktionen.
CHANNEL =
RELATED ( 'Sales Order'[Channel] )