LOOKUPVALUE
傳回符合一個 valueall 條件所指定之 or 準則的數據列 search。
語法
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
參數
術語 | 定義 |
---|---|
result_columnName |
contains 您要傳回之 value 的現有資料行名稱。 它不能是表達式。 |
search_columnName |
現有數據行的名稱。 它可以位於與 or 數據表中result_columnName related相同的数据表中。 它不能是表達式。 可以指定多個search_columnName and search_value組。 |
search_value |
search_columnName中要 value 的 search。 可以指定多個search_columnName and search_value組。 |
alternateResult |
(選擇性)當result_columnName的內容已篩選為零時傳回 value,or 多個相異 value。 If not 指定時,當result_columnName篩選為零時,函式會傳回 BLANK,valuesorerror 當內容中有多個相異 value 時,result_columnName。 |
傳回 value
value
result_columnName
all 組 search_columnName
andsearch_value
有 exact 相符項目的數據列。
If 傳回滿足 allsearchvaluesBLANKoralternateResult
(if 指定)的相符專案。 換句話說,函式不會傳回查閱,valueif 只有一些準則相符。
If 多個數據列符合這些數據列 search 中 valuesandvaluesresult_columnName
相同,則會傳回 value。 不過,ifresult_columnName
傳回不同的 values,則會傳回 errororalternateResult
(if 指定)。
言論
If 數據表之間 contains 結果數據行 and 包含 search 數據行的數據表之間有關聯性,在大部分情況下,使用 RELATED 函式而不是 LOOKUPVALUE 更有效率,and 提供更佳的效能。
您可以指定多個
search_columnName
andsearch_value
組。在函式逐一查看
search_value
數據表的數據列之前,會先評估 andalternateResult
search 參數。避免使用 ISERRORorIFERROR 函式來擷取 error所傳回的 LOOKUPVALUE。 當無法判斷單一輸出 If 時,error 函式的一些輸入會導致 value,提供
alternateResult
參數是處理 and的最可靠 error 最高效能方式。alternateResult
參數會傳回 error Pivot 計算數據行中指定的 ifPower。在匯出數據行中使用 not 數據列層級安全性 (RLS) 規則時,支援此函式 or 用於 DirectQuery 模式。
範例 1
在此範例中,LOOKUPVALUE 用來 searchAverageRate 用來支付訂單 currency 訂單的 day:
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
這兩個 Order DateandCurrency 都需要 find 正確 AverageRatedate的 andcurrency。 OrderDateKey and CurrencyKey 是用來查閱 AverageRate 數據表中 CurrencyRate 的索引鍵。
您可以使用 Exchange Rate,透過下列專案 calculate 本機 currency 中的銷售金額:
Sales Amount Local Currency = [Sales Amount] * [Exchange Rate]
範例 2
在此範例中,Sales 數據表中定義的下列匯出數據行會使用 LOOKUPVALUE 函數,從 values 數據表傳回通道 。
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey],
[SalesOrderLineKey]
)
不過,在此情況下,由於 Sales OrderandSales 數據表之間有關聯性,因此使用 RELATED 函式會更有效率。
CHANNEL = RELATED('Sales Order'[Channel])