不同时间段的Obiee列度量值相同

时间:2019-06-14 08:54:38

标签: oracle oracle11g obiee

我过去几年对收入进行了一些分析。我注意到的一件事是,一年中每个月的收入指标在每年的相应月份中都是相同的。也就是说2015年4月的收入与2016年4月的收入相同。

我做了一些搜索来解决这个问题。我发现我们的度量列'Revenue'根据时间维度被汇总为'Last(sum(revenue))'。因此,OBIEE将2019年4月的实际收入值视为最后一个收入,并复制到另一年4月的收入中。

enter image description here

enter image description here

enter image description here

我可以理解,关键字'last'可能是这样做的原因,但是year, quarter, month列不应该完全选择与该日期相对应的数字吗?有人可以解释它的工作原理并提出解决方案吗?

2 个答案:

答案 0 :(得分:1)

非常简单地说:“ LAST”是原因。它不会“复制”该值。它将值沿指定的维度层次结构聚合到最后一个现有值。

问题是:Saldo应该显示什么?真正的业务规则是什么?

最后:还不应该在BMM层中使用技术列名称和ALL UPPER CASE COLUMN NAMES。名称应以用户为中心,可读且漂亮。否则,每个人都必须在前端反复进行50次更改。

答案 1 :(得分:0)

我发布这个问题已经一年了,但今天添加了对这种不正确的数据表示的修复。在之前版本的 rpd 中,我们使用了另一种替代解决方案,通过创建 Saldo 的两个度量列(saldo_year 和 saldo_month)并分别在 year 和 level 中为它们设置级别,并在分析中同时使用它们。这是一个临时解决方案,直到我们完成了 rpd 的第二个版本,因为我们意识到旧版本的结构并不完全正确,而且从地面制作并创建一个新版本比修复它更容易且耗时更少旧的。

正如@Chris 所提到的,这完全是关于正确的时间维度和层次结构。我们认为我们在满足所有要求的情况下创建了它,但最近我们在分析中遇到了同样的问题。然后我们发现我们没有将 id 列设置为月和季度逻辑级别的主键。在我们得到我们想要的数据之后。如果有人遇到这种问题,那么在rpd中首先要检查的是时间维度和层次结构是如何定义的,层次结构中的逻辑级别和主键和时间顺序键是如何设置的。