如何在 power pivot excel 中进行范围索引和匹配或 vlookup?

How to do a range index and match or vlookup in power pivot excel?

这些是 data model:

的各个数据点

这些是员工的月薪(使用数据模型数据中的数据透视表 table 获得):

然后每个单元格将用作查找值,该查找值将是 运行 通过 table。

查找值是在下面table的column Acolumn B中查找,如果匹配(在范围内),则return column C.

下的对应值

我无法使用 measures 在 excel 的 power pivot 功能中找到任何 index and matchvlookup 函数——这些函数用于获取一些分析报表对象上的聚合值,例如 pivot tables.

我发现 LOOKUPVALUE( <result_columnName>, <search_columnName>, <search_value>[, <search_columnName>, <search_value>]…) 是一个 DAX 函数,但是,这里的问题是我正在进行 范围查找 并且如下所示,我不知道你是否可以将数组作为函数的参数。

传统calculated fields也不允许在公式中使用数组。

Lookupvalue() 仅适用于单列查找,因为如果找不到匹配项,它将 return 一个空单元格,如下所示:

但是当它使用下面的 table 找到匹配项时:

它将正常工作:

首先,您需要为 Pay 创建一个度量:

Total Pay = SUM(Table1[Pay])

重要的是将其作为衡量标准,而不是仅仅将 'Pay' 放入支点 table(这称为 'implicit measure',被认为是一种不好的做法)。

然后,假设您的 table 和薪酬范围被命名为 "Pay Ranges"。创建另一个度量:

Returned Value = 
CALCULATE( 
VALUES('Pay Ranges'[Value To Return]), 
FILTER( 'Pay Ranges', 
[Total Pay] >= 'Pay Ranges'[Lower Bound] &&
[Total Pay] <  'Pay Ranges'[Upper Bound]
))

确保所有这些公式都是度量,而不是计算列。 此外,该公式依赖于范围的正确构造。如果它们重叠,你会得到一个错误。