OBIEE 年初至今的问题

Posted

技术标签:

【中文标题】OBIEE 年初至今的问题【英文标题】:OBIEE YTD Issues 【发布时间】:2016-08-22 23:26:58 【问题描述】:

我有一个包含不同粒度(日期粒度)的事实表

    每月

    每天

可以通过按月末日期过滤或使用 YYYYMM 日期格式来访问月份数据。在 OBIEE RPD 存储库中,事实设置为 LAST Aggregation。

我想执行年初至今的分析。我只想总结月末日期。

使用 TODATE(Measure) 函数,它倾向于汇总整个 e.grain 月份的所有数据

Date            Amount  YTD TODate(Amount)
31/01/2106      100     100
28/02/2016      200     300
14/03/2016      50      350*
31/03/2016      100     450

我希望 YTD 忽略 50 并返回 400,以及任何一个月内的任何其他日期。如果我选择 2016 年 3 月 14 日,我希望返回 350。

谢谢。

【问题讨论】:

您可以编辑基表/RPD 吗?您应该做一些 LTS 工作来为您做到这一点/提高性能。 感谢您的回复。是的,我可以编辑基表和 RPD...请帮助确定 LTS 工作...谢谢。 【参考方案1】:

更改表以添加一个标志,如果记录处于指定的月粒度,则标志 Y,如果记录不在指定的月粒度,则标志 N

在逻辑层中,创建两个不同的LTSs,第一个过滤标志为Y。这将是您计算和获取所有迄今为止的度量的地方。第二个 LTS 可以过滤为N,也可以留给所有数据,具体取决于您要如何处理它。

性能提升应该来自这样一个事实,即您基于每月LTS 构建的任何月份都只会命中标记为月份的记录,并且会绕过所有其他不相关的数据。因此,如果用户运行报告仅要求每月测量,则查询将自动过滤到该特定数据。

如果用户在同一份报告中选择您的当前日期度量和特定日期度量,OBIEE 应该触发两个单独的查询以获取数据并根据通用维度拼接在一起。

有人可以在前端创建这个吗?大概。您将不得不执行某种PERIODROLLING 函数,并告诉它在月份级别进行聚合,但我担心它可能仍会将那些天数汇总到比预期更大的数字。 TODATE 函数在这里不起作用。

【讨论】:

以上是关于OBIEE 年初至今的问题的主要内容,如果未能解决你的问题,请参考以下文章

财政年度年初至今累计

Access SQL 中按月份的年初至今摘要

c#:如何获取特定时间段的上一个年初至今和上一个月初至今?

显示前几年的年初至今销售额

快手涨收近95港币,年初至今已涨超30%

高盛改口称加密货币是新的资产类别?BTC ETH年初至今收益极佳