【问题标题】:Webi Report aggregation errorWebi 报表聚合错误
【发布时间】:2014-11-04 10:11:52
【问题描述】:
我有一个关于报告级聚合的问题。
假设我的报告包含 3 列,分别给出不同部门的实际收入、预算和差异收入总和。我加载粒度级别的值,例如区域、产品、年份。
现在的问题是,当我向下钻取并在粒度级别进行选择时,我会正确获取值。但在更高的层次上,这适用于所有地区、所有产品、所有年份所有地区我的方差的值不同。
这可能是什么原因?有人可以帮忙解决这个问题吗?
谢谢
尼基
【问题讨论】:
标签:
sap
business-intelligence
business-objects
【解决方案1】:
当您聚合到更高级别时会发生什么,就像您的示例中的情况一样,您所做的任何计算也将使用该级别的聚合值完成。
例子:
- 从数据库中检索年和月,以及销售收入的平均值。
- 现在在您的报告中创建一个表,其中只有 year 和 销售收入的平均值。
结果很可能是错误的。为什么?使用 year 和 month 作为维度计算平均值。因此,如果您删除一个维度,WebI 将根据您的 Universe 中的 投影聚合 函数聚合所有度量(在本例中为平均值)。这通常是总和。
换句话说,当您删除 月 维度并仅报告年份时,您会得到各个平均值的总和。
您可以通过将该度量的投影聚合更改为数据库委托来解决此问题。这意味着只要维度发生变化,度量值就会失效(#TOREFRESH 出现),您需要刷新查询以允许 WebI 将计算发送回数据库。
使用计算上下文,您可以通过指定聚合的输入和输出维度来更改度量的计算方式(即在报告中)。但是,如果是平均值,这并不能解决问题,因为您需要在数据库级别重新计算度量。
计算上下文是 Web Intelligence 的一个高级主题,在在 Web Intelligence 中使用函数、公式和计算manual 第 4 章中通过示例进行了详细说明:理解计算上下文.