PowerPivot - 聚合平均值的总和不正确

时间:2018-03-22 16:21:20

标签: powerpivot

我试图通过PowerPivot的数据透视表显示我们招聘流程各个部分的平均持续时间。因此,举例来说,作为整个过程的一部分,您将能够看到候选人在“面试”阶段的平均时间。我正在使用AppDuration的事实表按候选人,位置和持续时间进行细分。以下是数据样本:

RequisitionID    CandidateID      Req-CandidateKey   HireStatus     Duration
555              111              555_111            App Review     3
555              111              555_111            Phone Screen   5
555              111              555_111            Interview      7
555              222              555_222            Phone Screen   10
666              333              666_333            App Review     12
666              333              666_333            Phone Screen   15
666              444              666_444            App Review     5
666              444              666_444            Phone Screen   4
666              444              666_444            Offer Extend   15

我还有一个查找表StatusMaster来对各种HireStatus值进行分组

HireStatus     StatusCategory
App Review     Initial
Phone Screen   Intermediate
Interview      Intermediate
Offer          Final

AppDuration和StatusMaster通过HireStatus上的关系加入。我想检查StatusCategory级别的平均持续时间。

我的想法是,我首先需要一个不同的申请候选人组合实例,所以我创建了措施

DistinctReqApplicants:=DISTINCTCOUNT(AppDuration[Req-CandidateKey])

然后总结持续时间字段

DurationTotal:=SUM(AppDuration[Duration])

然后只划分两个

CandidateAvgDur:=DIVIDE([DurationTotal], [DistinctReqApplicants])

然后我创建一个数据透视表,在其中删除值中的CandidateAvgDuration和行中的StatusCategory。但问题是,总计不等于类别平均值之和

Screen shot of pivot table result 在我的结果中,当你总结各个类别时,总计应该是38.3,而是23.0。我没有应用任何其他过滤器。我感到困惑,因为这看起来很简单,基于我查找的例子以及我在这里引用的帖子。然而,就PowerPivot而言,我是一个完全的菜鸟,所以我确信我缺乏经验在这里工作。任何帮助或建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

请试试这个:

CandidateAvgDur:=SUMX(
 VALUES(AppDuration[HireStatus]),
 DIVIDE([DurationTotal], [DistinctReqApplicants])
)

请求候选人是否有可能每个HireStatus有多行。如果没有,请将DistinctReqApplicants指标更改为COUNTROWS(AppDuration)以提高效果。