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 年初至今的问题的主要内容,如果未能解决你的问题,请参考以下文章