在PowerPivot中计算的字段总计不正确

我有一个基本的数据集,大概看起来像这样:

Hours SpreadPerHr Spread 5.00 5.00 25.00 10.00 2.00 20.00 8.00 10.00 80.00 

Spread是计算值,其中Spread = Hours * SpreadPerHour。 问题是,这些列的总数也遵循这个公式,所以它看起来像这样:

  Hours SpreadPerHr Spread 5.00 5.00 25.00 10.00 2.00 20.00 8.00 10.00 80.00 Total: 23.00 17.00 391.00 

虽然时间总计很好,SpreadPerHour是dynamic的,所以传播也是如此。 总分布=总时数*总分布时间是不正确的。 总计应该是:

 Total: 23.00 17.00 125.00 

有没有一种方法,我可以使excel休假总计小时,但总结列传播,而不是乘以总和?

这是我认为你在你的Power Pivot模型中有什么: 在这里输入图像说明

您有一个计算的Spread度量值,我标记为SpreadCalc1 。 这样做的问题是它在进行乘法之前进行聚合。 您需要按照行进行此操作,然后进行汇总。 所以,而不是一个计算的措施,你需要创build一个计算列,然后总结该列。

在这里输入图像说明

我标记为SpreadCalc具有公式=[Hours] * [SpreadPerHr] 。 我称为Spread的计算度量只是Sum([SpreadCalc]) 。 你可以看到,总数是125,而不是391。

我知道这可能有点多余,但我会build议一个稍微不同的方法。

在“小”表中添加计算列是好的,但它可能会导致与大型数据库严重的性能问题。

所以要解决你的问题,我相信“正确的”方法就是使用SUMX函数。

它专门为每一行计算expression式,这正是你所需要的。 就性能而言,它是非常聪明的(不需要添加计算列或执行任何源数据操作)。

如果你使用这个公式(改正表/措施的名称),你应该得到想要的结果:

 SUMX(YourTable, [Sum Hour] * [Sum SpreadPerHr]) 

在这里输入图像说明