日期:2014-05-16  浏览次数:20454 次

BIEE 实现指定时间往前推几个月的选择
   BIEE的提示条件中,常常我们看到的都是选择某一个时间段, 通过选择开始时间和结束时间来选择区间,比较少会用选择一个简单的区间来做. 如果选择一个时间点,然后选择往前倒一个时间区间的方式会比选择两个时间省心,而且快一些.
下面先展示一下具体的效果图


当你选择某一个platform后右边的图会刷新,当选择一个时间点,则会切换到最大为选择时间点,并且默认往倒One Month的日期。当选择Peroid的一个单选择时,则会在上面的日期信前倒相应有数据。这样一来,简化了很多的操作。记得有一个老师说过,“如果把一个产品的点击次数,减少一步,那也是一个很不错创新”。何况我这里减少了2步呢。
下面就来讲讲如何做这个功能:
第一步:
创新一个分析,并且分析的过滤条件选择:转换成SQL
"D00 Day"."Date" < @{V_date}{date'2013-12-01'}  and "D00 Day"."Date" >(
case when '@{V_peroid}{One Month}'='One Month' then TIMESTAMPADD(SQL_TSI_DAY, -30, @{V_date}{date'2013-12-01'}) 
     when '@{V_peroid}{One Month}'='Two Month' then TIMESTAMPADD(SQL_TSI_DAY, -60, @{V_date}{date'2013-12-01'}) 
     when '@{V_peroid}{One Month}'='Three Month' then TIMESTAMPADD(SQL_TSI_DAY, -60, @{V_date}{date'2013-12-01'}) 
     when '@{V_peroid}{One Month}'='Six Month' then TIMESTAMPADD(SQL_TSI_DAY, -60, @{V_date}{date'2013-12-01'}) 
else TIMESTAMPADD(SQL_TSI_DAY, -5, @{V_date}{date'2013-12-01'}) end)



效果图如下:


以上的SQL内容其实已经很容意理解了,需要做一个变量的解释:
V_date :在提示中的日期参数
     在这里,由于我们用的是日期类型,所以有不少转换的地方。
TIMESTAMPADD(SQL_TSI_DAY, -30, @{V_date}{date'2013-12-01'}) 只需要理解好这个函数就一切OK了。
V_peroid: 提示中的区间选择,例如:One Month等。
第二步:创建提示
提示,对于做BIEE的人来说,已不是什么难事。只需要创建两个变量的提示就可以了。