LOOKUPVALUE
释义:返回满足一个或多个列匹配条件所对应的值
语法:LOOKUPVALUE(要返回的值,查找的列,查找的值,[查找的列],[查找的值]…[当返回值有0个或多个时,默认返回的值])
参数:
- 第一参数:包含要返回的值的现有列的名称。 它不能是表达式。
- 第二参数:现有列的名称(要查找的范围),可以是第一参数表中的列,也可以是相关表中的列,但不能是表达式
- 第三参数:要在第二参数中查找的值
- 第四、五…参数:(可选)同第二、三参数,必须成对出现
- 最后一个参数:(可选)当满足查找条件返回的值为0个或多个时,默认返回的值。
备注:
- 只有当所有成对的查找列和查找值都满足条件的情况下,才会返回值
- 如果没有满足条件的值,则返回空或最后一个参数所提供的默认值
- 如果满足条件的返回值去重后只有一个,则返回该值
- 如果满足条件的返回值去重后有多个,则返回错误或最后一个参数所提供的默认值
- LOOKUPVALUE函数可在未建立关系的模型中使用
- 如果模型中存在相应的关系,建议使用related函数,其性能更优
- 在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数
示例:返回来自“销售订单”表中的渠道值
CHANNEL = LOOKUPVALUE('Sales Order'[Channel],'Sales Order'[SalesOrderLineKey],[SalesOrderLineKey])
在建立了关系的模型中等同于:
CHANNEL = RELATED('Sales Order'[Channel])