BIEE时间序列函数

Posted 缘泉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BIEE时间序列函数相关的知识,希望对你有一定的参考价值。

BIEE使用时间序列前提

含有时间维,

只修改这个会报错,需要添加时间序列键

 

 

 

PeriodRolling

此函数计算在距当前时间的 x 个时间单位开始到 y 个时间单位结束这一时段内的度量总和。时间单位由该函数第一个参数中度量的度量级别以及该函数所属查询的查询级别确定。

语法:PERIODROLLING(measure, x[,y][,hlerarchy])

 

x :是一个整数, 指定距当前时间的偏移时间,当前时间为0  向前为负,向后则为正数。
y :指定该函数将计算的时间单位数,当前则为0  向前为负,向后则为正数。
hierarchy :是可选参数, 指定在时间维中 要用于计算时间窗口的层次的名称,如年,月,日。

如果不限定范围,则可以使用UNBOUND

如:PeriodRolling(measure,-unbound,0)就是取从最开始的时间到现在的sum。

也可以跟AGGREGATE AT 一起使用

如:PeriodRolling(Aggregate(measure AT level [, level1, levelN])),-unbound,0)

 

不能在PeriodRolling中嵌入Ago,TODATE,FirstLast 函数。

如何和其他聚合函数 如 RANK,TOPN,RSUM,FILTER 则会向内推送

PeriodRolling(TOPN(measure)) 作为 TOPN(PeriodRolling(measure))执行。

 后端

Clipboard Image.png

前端:

Clipboard Image.png

示例:从当月往前2月的累计(3个月的累计收入)

Clipboard Image.png

 


Ago

一个时间序列聚合函数, 用于计算从当前时间追溯到以前的指定时段之间的聚合值。例如, Ago 可以生成当前季度每个月的销售额以及相应的季前销售额。

 

语法:AGO(expr, time_level, offset)

 

Expr:是至少引用一个度量列的表达式。

Time_level:是时段的类型,例如季度,月,年,是可选参数。

Ago("BI"."F01 收入"."销量"  , 1)

这样也是成立的,他依靠前端查询粒度来展示数据。

Offset:是一个正数,表示时间偏移量,可选。

 

示例:

后端RPD

Clipboard Image.png

 

前端由于无法使用到时间层级,所以level 要手动写上去 表名.维度名称.维度层级

 Clipboard Image.png

Clipboard Image.png

 


TODATE

一个时间序列聚合函数, 用于累计从指定时段开始到当前时间的度量属性。例如, 此函数可以计算年初至今的销售额。

语法:TODATE(expr, time_level)

 

Expr: 是一个至少引用一个度量列的表达式

Time_level是时段的类型, 例如季度, 月或年。

 

年累计:年初到至今

报表为月粒度:从所选月份所在年的1月累计到所选月份为止。

报表为日粒度:从所选日期所在年的1月1号累计到所选日期为止。

 

月累计:月初到至今

 从所选日期所在月份1号累计到所选日期为止。

年累计:

Clipboard Image.png

月累计:

Clipboard Image.png

 

前端使用函数和Ago一样 level 要手动写上去 表名.维度名称.维度层级

Clipboard Image.png

以上是关于BIEE时间序列函数的主要内容,如果未能解决你的问题,请参考以下文章

BIEE15_时间维度建立

PL/SQL调用BIEE WebServices清理BI Server缓存

BIEE查看BIEE的物理SQL

BIEE09_BIEE控制台乱码问题解决

BIEE03_BIEE数据源配置

BIEE分析的解析机制