LOOKUPVALUELOOKUPVALUE

Returnerar värdet för den rad som uppfyller alla kriterier som anges i sökvillkoren.Returns the value for the row that meets all criteria specified by search conditions. Funktionen kan tillämpa ett eller flera sökvillkor.The function can apply one or more search conditions.

SyntaxSyntax

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

ParametrarParameters

TermTerm DefinitionDefinition
result_columnNameresult_columnName Namnet på en befintlig kolumn som innehåller värdet som du vill returnera.The name of an existing column that contains the value you want to return. Det får inte vara ett uttryck.It cannot be an expression.
search_columnNamesearch_columnName Namnet på en befintlig kolumn.The name of an existing column. Det kan vara i samma tabell som result_columnName eller i en relaterad tabell.It can be in the same table as result_columnName or in a related table. Det får inte vara ett uttryck.It cannot be an expression.
search_valuesearch_value Ett skalärt uttryck.A scalar expression.
alternateResultalternateResult (Valfritt) Värdet som returneras när kontexten för result_columnName har filtrerats ned till noll eller mer än ett distinkt värde.(Optional) The value returned when the context for result_columnName has been filtered down to zero or more than one distinct value. Om det inte anges returnerar funktionen BLANK när result_columnName filtreras nedåt till noll eller ett fel vid mer än ett distinkt värde.When not provided, the function returns BLANK when result_columnName is filtered down to zero value or an error when more than one distinct value.

ReturvärdeReturn value

Värdet för result_column på raden där alla par med search_column och search_value har en exakt matchning.The value of result_column at the row where all pairs of search_column and search_value have an exact match.

Om det inte finns någon matchning som uppfyller alla sökvärden returneras BLANK eller alternateResult (om det har angetts).If there's no match that satisfies all the search values, BLANK or alternateResult (if supplied) is returned. Funktionen returnerar med andra ord inget uppslagsvärde om bara vissa av villkoren matchar.In other words, the function won't return a lookup value if only some of the criteria match.

Om flera rader matchar sökvärdena och om result_column-värdena är identiska så returneras det värdet.If multiple rows match the search values and in all cases result_column values are identical, then that value is returned. Om result_column däremot returnerar olika värden returneras ett fel eller alternateResult (om det har angetts).However, if result_column returns different values, an error or alternateResult (if supplied) is returned.

AnmärkningarRemarks

  • Om det finns en en-till-många-relations mellan resultat- och söktabellerna kan det gå att använda funktionen RELATED.If there's a one-to-many relationship path between the result and search tables, it may be possible to use the RELATED function. I så fall fungerar funktionen RELATED bättre.In this case, the RELATED function is likely to perform better.

  • Parametrarna search_value och alternateResult- utvärderas innan funktionen itererar genom raderna i söktabellen.The search_value and alternateResult parameters are evaluated before the function iterates through the rows of the search table.

  • Den här funktionen kan inte användas i DirectQuery-läge när den används i beräknade kolumner eller regler för säkerhet på radnivå (RLS).This function is not supported for use in DirectQuery mode when used in calculated columns or row-level security (RLS) rules.

ExempelExamples

Följande regel för tabellen Sales Territory (för säkerhet på radnivå) tillämpar ett filter som begränsar dataåtkomsten till rader i rapportanvändarens region.The following Sales Territory table rule (for row-level security) enforces a filter restricting data access to rows of the report user's region. Den använder funktionen LOOKUPVALUE till att söka efter regionen i tabellen Employee.It uses the LOOKUPVALUE function to lookup the region from the Employee table.

Observera att funktionen USERNAME, som hämtar användarnamnet för den autentiserade användaren, används till att söka efter en match på e-postadressen i tabellen Employee.Notice that the USERNAME function, which retrieves the user name of the authenticated user, is used to search the Employee table for a match on email address. BLANK skickas som alternativt resultatet för att undvika kostsam felhanteringslogik när det inte finns någon matchning.The BLANK is passed in as the alternate result to avoid expensive error handling logic when there's no match.

[Region] = LOOKUPVALUE(Employee[Region], Employee[Email], USERNAME(), BLANK())

Följande beräknade kolumndefinition för tabellen Sales använder funktionen LOOKUPVALUE.The following Sales table calculated column definition uses the LOOKUPVALUE function.

Exemplen i den här artikeln kan läggas till i exempelmodellen för Power BI Desktop. Läs mer i DAX-exempelmodell om du vill hämta modellen.Examples in this article can be added to the Power BI Desktop sample model. To get the model, see DAX sample model.

Product = LOOKUPVALUE('Product'[Product], Sales[ProductKey], 'Product'[ProductKey])

Eftersom det finns en relation mellan tabellerna Product och Sales är det dock mer effektivt att använda funktionen RELATED.However, because there's a relationship between the Product and Sales tables, it's more efficient to use the RELATED function.

Product = RELATED('Product'[Product])

Se ävenSee also

Funktionen RELATED (DAX)RELATED function (DAX)
InformationsfunktionerInformation functions