LOOKUPVALUE
1 つ以上の value 条件で指定された all 条件を満たす行の orsearch 返します。
構文
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のコンテキストが 0 にフィルター処理され、複数の個別の valueor 場合に返される value。 指定 Ifnot、result_columnNameのコンテキストに複数の個別の BLANK がある場合に、result_columnNameが 0 valuesorerror にフィルター処理されると、関数は value を返します。 |
value を返す
value
result_columnName
all のペア search_columnName
一致する行の and の search_value
exact。
If、allsearch、valuesBLANKor (alternateResult
指定) が返 if 一致するものがありません。 言い換えると、関数は一部の条件に一致 valueif 参照を返しません。
複数の行 If、これらの行の search 内の values が同じ andvaluesresult_columnName
に一致し、その value が返されます。 ただし、ifresult_columnName
は異なる valuesを返します。errororalternateResult
(if 指定) が返されます。
備考
If 列を含むテーブル contains 結果列を and するテーブル間にリレーションシップがある search、ほとんどの場合、RELATED ではなく LOOKUPVALUE 関数を使用すると、パフォーマンスが向上 and 効率的です。
search_columnName
andsearch_value
の複数のペアを指定できます。search_value
andalternateResult
パラメーターは、関数が search テーブルの行を反復処理する前に評価されます。ISERROR or IFERROR 関数を使用して、errorによって返される LOOKUPVALUE をキャプチャしないようにします。 1 つの出力 If を特定できない場合に関数に対するいくつかの入力を error すると、value が発生します。
alternateResult
パラメーターを指定することは、andを処理する最も信頼性の高い error 最も高いパフォーマンスの方法です。alternateResult
パラメーターは、error Pivot 計算列で指定された ifPower を返します。この関数は、行レベル セキュリティ (RLS) 規則 not 計算列で使用する場合に、DirectQuery モードで使用するためにサポート or。
例 1
この例では、注文が行われた LOOKUPVALUE の注文の支払いに使用される search の AverageRatecurrency に day を使用します。
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
正しい DateandCurrencyの findAverage を Rate するには、両方の Order dateandcurrency が必要です。 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])