1

我对 Spotfire 完全陌生。我想计算每个工厂对各自基础产品的贡献百分比。您可以在下图中看到。我正在使用以下表达式进行计算,但它给了我一个常数值 1。

表达式

Sum([Value]) / Sum([Value]) OVER (Intersect(Parent([Base Product]),AllPrevious([Plant])))

谁能告诉我我做错了什么。在此先感谢!

在此处输入图像描述 `

4

1 回答 1

1

根据我的评论(没有时间完整回答):

[Value] 在 OVER 表达式中用于标记您希望在哪里使用表达式的结果,因此在上面的表达式中,如果表达式的结果是 15,那么您最终会得到 15/15 which = 1。

要修复它,我认为将您的 Value 列更改为除 Value 之外的任何内容就足够了我将使用 Contribution 作为我的示例,这与您的示例完全相同,但重命名了列:

Sum([Value]) / Sum([Contribution]) OVER (Intersect(Parent([Base Product]),AllPrevious([Plant])))

假设您的过度表达是正确的,那么应该这样做。

于 2014-04-10T12:07:26.907 回答