BIEE RPD逻辑表源的层级和指标上的层级区别及选择逻辑表源规则详解

浏览: 2654

环境:BIEE 11.1.1.7...

背景:

某天碰到一个奇葩需求,需要展示这样的报表

2015 /01 指标A  指标B 指标C 指标D 指标E 指标F

。。。。。。

其中,指标A\B\C和时间维有关联,指标D\E\F和时间无关,也就是报表的指标D\E\F列的列值相同。


对于这样的表格展现,开发很是疑惑,到底RPD该怎么设置呢?

指标A\B\C和时间维有关的,常规设置和关联即可。可后面的3个指标D\E\F呢?到底要不要设置物理层连接?逻辑层呢?层级设置呢?

直接上结论:

照常设置事实表和时间维的物理层连接,照样设置逻辑层和时间维的连接关系,照样设置逻辑表源对时间维的层级,在指标D\E\F上设置对时间维的层级为Total即可。

其中:物理层连接和逻辑层连接影响指标走逻辑表源,即从哪个逻辑表源出指标。到出具体指标的sql的时候,指标上的层级关系确定怎么出相关的SQL。

上面的例子中,出指标D\E\F和时间维的时候,是分为2段SQL出的。然后展示的时间和指标D\E\F是通过FULL OUT JOIN 去拼接的。


这个过程出现了一个奇怪的事情,明明事实表有某个月份的数据,但表格未展示,跟踪sql发现走到了另外一个逻辑表源,从另外一个事实表出的时间维数据。

假设有多个逻辑表源都映射了某指标,那最后到底是什么样的规则影响了逻辑表源选择呢?这里要说下选择逻辑表源规则:

首先看优先级组的设置,0高于1

其次,满足所有展示要求的逻辑表源,若优先级相同,则高level的优先于低level的。

再次,若前2者相同,则所有成本最少的逻辑表源出,例如A表源对应有2个维度层级,维度层级数量分别有10个和9个,则成本为9*10,B表源对应有3个维度,维度层级数量分别为3,4,5,则成本为3*4*5,那么B表源优先于A表源

最后若以上条件都满足,则按逻辑表源出现的次序。

推荐 1
本文由 百分百 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

逻辑表源多于一个一定要注意,不能想当然啊

要回复文章请先登录注册