LOOKUPVALUE

返回满足一个或多个搜索条件所指定的所有条件的行的值。

语法

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

parameters

术语定义
result_columnName包含要返回的值的现有列的名称。 它不能是表达式。
search_columnName现有列的名称。 它可以位于 result_columnName 所在的表中,也可以位于相关表中。 它不能是表达式。
search_value要在 search_columnName 中搜索的值。
alternateResult(可选)result_columnName 的上下文已筛选为零个或多个非重复值时,返回该值。 如果未提供,则在将 result_columnName 向下筛选为零值时,该函数返回 BLANK;如果有多个非重复值,则返回错误。

返回值

所有 search_column 和 search_value 对都匹配的行上的 result_column 的值 。

如果没有符合所有搜索值的匹配项,则返回 BLANK 或 alternateResult(如果提供)。 换句话说,如果仅部分条件匹配,则该函数将不会返回查找值。

如果有多行匹配搜索值,并且在所有情况下 result_column 值都相同,则返回该值。 但是,如果 result_column 返回不同的值,则返回错误或 alternateResult(如果提供) 。

备注

  • 如果“结果”和“搜索”表之间存在关系,则在大多数情况下,使用 RELATED 函数(而不是 LOOKUPVALUE)会更高效并可以提供更好的性能。

  • 在函数循环访问搜索表中的行之前,将计算 search_value 和 alternateResult 参数 。

  • 避免使用 ISERROR 或 IFERROR 函数来捕获 LOOKUPVALUE 返回的错误。 如果函数的某些输入在无法确定单个输出值时导致错误,则提供 alternateResult 参数是处理错误的最可靠、性能最高的方式。

  • 在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。

示例

可将本文中的示例与 Power BI Desktop 示例模型结合使用。 若要获取模型,请参阅 DAX 示例模型

“销售额”表中定义的以下计算列使用 LOOKUPVALUE 函数返回来自“销售订单”表中的渠道值 。

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

不过, 在这种情况下,由于“销售订单”表和“销售额”表之间存在关系,因此使用 RELATED 函数会更有效。

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

请参阅

RELATED 函数 (DAX)
信息函数

results matching ""

    No results matching ""