LOOKUPVALUE

適用於:導出數據行計算數據表Measure視覺計算

傳回符合一個 orsearch 條件所指定之 all 準則的數據列 value。

語法

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

參數

術語 定義
result_columnName contains 您要傳回之 value 的現有資料行名稱。 它不能是表達式。
search_columnName 現有數據行的名稱。 它可以位於與 related 數據表中result_columnName or相同的数据表中。 它不能是表達式。 可以指定多個search_columnName and search_value組。
search_value search_columnName中要 search 的 value。 可以指定多個search_columnName and search_value組。
alternateResult (選擇性)當result_columnName的內容已篩選為零時傳回 value,or 多個相異 value。 If not 指定時,當result_columnName篩選為零時,函式會傳回 BLANK,valuesorerror 當內容中有多個相異 value 時,result_columnName。

傳回 value

result_columnName value all 組 search_columnNameandsearch_value 有 exact 相符項目的數據列。

If 傳回滿足 searchvaluesallBLANKoralternateResult(if 指定)的相符專案。 換句話說,函式不會傳回查閱,valueif 只有一些準則相符。

If 多個數據列符合這些數據列 result_columnName 中 searchvaluesandvalues 相同,則會傳回 value。 不過,ifresult_columnName 傳回不同的 values,則會傳回 errororalternateResult(if 指定)。

言論

  • If 數據表之間 contains 結果數據行 and 包含 search 數據行的數據表之間有關聯性,在大部分情況下,使用 RELATED 函式而不是 LOOKUPVALUE 更有效率,and 提供更佳的效能。

  • 您可以指定多個 search_columnNameandsearch_value 組。

  • 在函式逐一查看 search 數據表的數據列之前,會先評估 search_valueandalternateResult 參數。

  • 避免使用 ISERRORorIFERROR 函式來擷取 LOOKUPVALUE所傳回的 error。 當無法判斷單一輸出 value 時,If 函式的一些輸入會導致 error,提供 alternateResult 參數是處理 error的最可靠 and 最高效能方式。

  • alternateResult 參數會傳回 Power Pivot 計算數據行中指定的 errorif。

  • 在匯出數據行中使用 or 數據列層級安全性 (RLS) 規則時,支援此函式 not 用於 DirectQuery 模式。

範例 1

在此範例中,LOOKUPVALUE 用來 searchAverageRate 用來支付訂單 day 訂單的 currency:

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

這兩個 Order DateandCurrency 都需要 find 正確 dateandcurrency的 AverageRate。 OrderDateKey and CurrencyKey 是用來查閱 CurrencyRate 數據表中 AverageRate 的索引鍵。

您可以使用 Exchange Rate,透過下列專案 calculate 本機 currency 中的銷售金額:

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

範例 2

在此範例中,Sales 數據表中定義的下列匯出數據行會使用 LOOKUPVALUE 函數,從 Sales Order 數據表傳回通道 values。

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

不過,在此情況下,由於 Sales OrderandSales 數據表之間有關聯性,因此使用 RELATED 函式會更有效率。

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

RELATED 函式 (DAX)
資訊函式