如何在Power Pivot中出色地完成范围索引和匹配或vlookup?

时间:2018-08-06 17:12:57

标签: excel powerbi powerpivot

这些是data model的各个数据点:

enter image description here

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

enter image description here

然后,每个单元格都将用作在表中运行的查找值。

要在下表的column Acolumn B中查找查找值,如果匹配(在范围内),它将返回column C下的相应值

enter image description here

我无法使用index and match在excel的功能枢纽功能中找到任何vlookupmeasures函数,这些函数用于对报表对象的汇总值进行一些分析,例如作为数据透视表。

我发现LOOKUPVALUE( <result_columnName>, <search_columnName>, <search_value>[, <search_columnName>, <search_value>]…)DAX函数,但是这里的问题是我正在执行范围查找,如下所示,我不知道如果可以将数组作为函数的参数。 enter image description here

传统的calculated fields也不允许公式中包含数组。

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

enter image description here

但是当它确实使用下表找到匹配项时:

enter image description here

它将正常工作:

enter image description here

1 个答案:

答案 0 :(得分:1)

首先,您需要为薪资创建度量:

Total Pay = SUM(Table1[Pay])

将其作为衡量标准而不是仅将“ Pay”放入数据透视表很重要(这被称为“隐式衡量标准”,被认为是一种不好的做法)。

然后,假设您的薪资范围表名为“薪资范围”。创建另一个度量:

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

确保所有这些公式都是“度量”,而不是“计算所得”列。 此外,该公式还取决于范围的正确构造。如果它们重叠,则会出现错误。