事实表上多个时间与时间维度的连接

0
现在有一张事实表,有开始时间 begin_time与结束时间两个字段 end_time,做如下sql统计。
select count(1) 
from a 
where a.begin_time <= sysdate 
and a.end_time >=sysdate;
--------------------------------
现在要在biee中实现这样的统计数据。  
 
除了建分析的时候,单独拖取这个指标,然后建过滤器(如下图)

QQ图片20160602145851.png


还没有其他的方法,这样做的话,每次只能出来一个时间点的数据。
如果我想要拖时间维度过来的话,应该在rpd上怎么样来建时间维度与事实表的关系呢?
应该怎么来做一个处理呢?或者事实表怎么样更改一下。
请大家提供一个思路!
谢谢!
已邀请:
1

百分百 - BIEE独立顾问、零售行业 2016-06-02 回答

针对这样的问题,我来解释下:
其实这样的需求,只要弄明白BIEE的机制,就很容易搞清楚怎么设置。
先假设最简单的,事实表T有两列T1和T2,用来表示不同的时间,我们现在要求查询T1列在1.1~1.5的数据,且T2列在2.1~2.6的数据。
我们写SQL 就是两个and,类似于:
and T1 between 1.1 and 1.5 
and T2 between 2.1 and 2.6
 
那么在BIEE中呢,就是设置这个事实表T 关联2个时间维A1和A2,分别用普通连接关联到T1和T2列,在前端用介于展示,然后拖时间维到查询的过滤器即可。
 
那么如果我关联条件改变了呢?变复杂了呢?
例如T1列的条件要求是我筛选的时间前置的15天,这样,在BIEE中就要用到复杂连接,设置关联条件中时间维关联的字段要减去15天后再关联,也就送你的关联字段逻辑。
 
那如果不固定呢?例如T1要求在B表的B1和B2字段之间呢?同样用复杂连接搞定。
 
那么回到你这个例子上来,用时间维的普通连接即可搞定,设置事实表T关联两个时间维A和B,A对应开始时间,B对应结束时间,然后其它的你懂的。
 

要回复问题请先登录注册