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

PowerPivot - SUM of Aggregated Averages Not Correct

我试图通过 PowerPivot 的数据透视表 table 显示我们招聘流程各个部分的平均持续时间。因此,例如,作为整个流程的一部分,您将能够看到候选人处于 "interview" 阶段的平均时间。 table 我在 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

我还查找了 table StatusMaster 以对各种 HireStatus 值进行分组

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

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

我的想法是我首先需要计算 requisition-candidate 组合的不同实例,所以我创建了度量

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

然后对 Duration 字段求和

DurationTotal:=SUM(AppDuration[Duration])

然后把两者分开

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

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

在我的结果中,当您总结各个类别时,总计应该是 38.3,但实际上是 23.0。我没有应用任何其他过滤器。我感到困惑,因为根据我查阅过的示例和我在此处引用的帖子,这似乎 straight-forward。然而,当涉及到 PowerPivot 时,我完全是个菜鸟,所以我确信我缺乏经验在这里工作。感谢任何帮助或建议。

请试试这个:

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

是否有可能 requisition-candidate 每个 HireStatus 可以有不止一行。如果不是,则将 DistinctReqApplicants 度量更改为 COUNTROWS(AppDuration) 以提高性能。