次の方法で共有


LOOKUPVALUE

適用対象:計算列計算テーブルMeasureビジュアル計算

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_valueexact。

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 and search_value の複数のペアを指定できます。

  • search_value and alternateResult パラメーターは、関数が 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])

RELATED 関数 (DAX)Information 関数