如何在 power pivot excel 中进行范围索引和匹配或 vlookup?
How to do a range index and match or vlookup in power pivot excel?
这些是 data model
:
的各个数据点
这些是员工的月薪(使用数据模型数据中的数据透视表 table 获得):
然后每个单元格将用作查找值,该查找值将是 运行 通过 table。
查找值是在下面table的column A
和column B
中查找,如果匹配(在范围内),则return column C
.
下的对应值
我无法使用 measures
在 excel 的 power pivot 功能中找到任何 index and match
或 vlookup
函数——这些函数用于获取一些分析报表对象上的聚合值,例如 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]
))
确保所有这些公式都是度量,而不是计算列。
此外,该公式依赖于范围的正确构造。如果它们重叠,你会得到一个错误。
这些是 data model
:
这些是员工的月薪(使用数据模型数据中的数据透视表 table 获得):
然后每个单元格将用作查找值,该查找值将是 运行 通过 table。
查找值是在下面table的column A
和column B
中查找,如果匹配(在范围内),则return column C
.
我无法使用 measures
在 excel 的 power pivot 功能中找到任何 index and match
或 vlookup
函数——这些函数用于获取一些分析报表对象上的聚合值,例如 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]
))
确保所有这些公式都是度量,而不是计算列。 此外,该公式依赖于范围的正确构造。如果它们重叠,你会得到一个错误。