【BIEE】18_时间序列函数的使用

三个时间序列函数

  • AGO: 实现同环比
  • TO DATE:实现累计指标,如MTD月累计、YTD年累计
  • Period Rolling:当前时间的x个时间单位开始到y个时间单位结束这一时段内的度量总和

BIEE使用时间函数的前提

除了跟其他普通层级一样的设置以外,还需要 (普通为层级设置参照时间维设置

  • 勾选时间属性
  • 设置时间序列关键字

那么如何勾选时间属性呢?

image

设置序时关键字(双击【年】--【勾选“序时关键字”】)

image

同理,季、月、日也设置

-----------------------------------------------------------------------------------------

上述设置完毕之后,我们现在创建一张销售记录表

DROP TABLE Sales_Info;
CREATE TABLE Sales_Info(
DT_DATE NUMBER,
CNO VARCHAR(20),
ELNO VARCHAR(10),
PRICE DECIMAL(18,2),
NM    INT,
PROVINCE VARCHAR(3)
) ;
----------------------
INSERT INTO Sales_Info VALUES(19850101,'JY0001','A01',5000,10,'BJ');
INSERT INTO Sales_Info VALUES(19850102,'JY0002','A01',5000,20,'BJ');
INSERT INTO Sales_Info VALUES(19850103,'JY0003','A02',6000,30,'SH');
INSERT INTO Sales_Info VALUES(19850104,'JY0004','A01',5000,40,'BJ');
INSERT INTO Sales_Info VALUES(19850105,'JY0005','A01',5000,10,'BJ');
INSERT INTO Sales_Info VALUES(19850106,'JY0006','A02',6000,20,'SH');
INSERT INTO Sales_Info VALUES(19850207,'JY0007','A03',7000,3,'KM');
INSERT INTO Sales_Info VALUES(19850208,'JY0008','A04',8000,30,'KM');
INSERT INTO Sales_Info VALUES(19850209,'JY0009','A02',6000,40,'SH');
INSERT INTO Sales_Info VALUES(19850210,'JY0010','A03',7000,10,'KM');
INSERT INTO Sales_Info VALUES(19850211,'JY0011','A01',5000,20,'BJ');
INSERT INTO Sales_Info VALUES(19860312,'JY0012','A01',5000,30,'BJ');
INSERT INTO Sales_Info VALUES(19860313,'JY0013','A02',6000,40,'SH');
INSERT INTO Sales_Info VALUES(19860314,'JY0014','A03',7000,10,'KM');
INSERT INTO Sales_Info VALUES(19860315,'JY0015','A04',8000,20,'KM');
INSERT INTO Sales_Info VALUES(19860316,'JY0016','A02',6000,52,'SH');
INSERT INTO Sales_Info VALUES(19860317,'JY0017','A03',7000,30,'KM');
INSERT INTO Sales_Info VALUES(19860318,'JY0018','A04',5000,40,'KM');
INSERT INTO Sales_Info VALUES(19860319,'JY0019','A02',1000,10,'SH');
INSERT INTO Sales_Info VALUES(19860320,'JY0020','A03',6500,20,'KM');

数据大致如下:

image

导入资料库与时间表关联并在逻辑层将【NM】列修改为聚合列,命名为:销售量

image

接着点击【销售额】---创建副本

将副本名称修改为【同比】,并设置AGO函数

image

设置好之后,我们在前端界面做如下设置:

image

查看结果如下:

image

从上图我们可以看到,只要销售量存在,那么就会出现对应日期,根据我们一般的习惯来说的话,当本期有销售额,才进行查看,所以我们添加过滤器,将本期销售额为空的过滤即可

image

这样一来我们就可以看到,本期与上期有一个鲜明的对比

上述时间函数也可以在前端列公式中使用:

“表名”.”维度名称”.”层次名称”

使用例子如下:

image

image

查看效果:

image

效果是一样的!!!

注意:在使用AGO函数省略参数的时候,报表中的数据就按照展示的时间粒度来推移

其他两个函数只是公式不同而已,使用方法跟AGO函数一样的,这里就不一一赘述了

以上是我按照个人理解来解决问题的,如果有不当之处,请指出,谢谢!

原文地址:https://www.cnblogs.com/OliverQin/p/8564230.html