oracle biee 中的时间维与时间轴函数

oracle biee 中的时间维与时间轴函数

ID:36027191

大小:550.69 KB

页数:12页

时间:2019-05-02

oracle biee 中的时间维与时间轴函数_第1页
oracle biee 中的时间维与时间轴函数_第2页
oracle biee 中的时间维与时间轴函数_第3页
oracle biee 中的时间维与时间轴函数_第4页
oracle biee 中的时间维与时间轴函数_第5页
资源描述:

《oracle biee 中的时间维与时间轴函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OracleBIEE中的时间维与时间轴函数   累计、同比、环比是BI项目中常用的分析方法。本文讲述如何利用OracleBIEE的时间维(TimeDimension)及时间轴函数(TimeSeriesConversionFunction)实现累计、同比、环比计算。本文使用的示例数据可以通过此链接下载:http://www.zw1840.com/。如果你不了解如何创建OracleBIEE资料库,请参考之前的文章 HelloBIEE。目录·时间轴函数概述·创建时间维的准备工作·创建时间维·使用时间轴函数定义度量值·查询·参考时间轴函数概述   累计、同比、环比是

2、BI项目中常用的分析方法。如果采用关系型数据库,直接通过SQL语句进行这样的计算是比较麻烦的。OracleBIEE提供的解决方法是时间轴函数。时间轴函数是位于逻辑模型层内的函数,使用时间轴函数能够定义出“去年同期值”或“本年累计值”之类的与时间相关的计算字段。OracleBIEE现在支持两个时间轴函数:·Ago:从当前时间起回溯用户指定的n个时间段,返回当时的度量值。·ToDate:从用户指定时间段的起点开始,到当前时间为止,计算度量值的累计值。   使用时间轴函数的前提条件是在逻辑模型内定义了时间维。上面两个函数说明中的“时间段”实际上指的是时间维的层级(

3、Level)。例如使用Ago函数定义“去年同期值”,指定的时间段为“年”这一层级,指定的回溯周期为1,表示得到去年的值。再比如使用ToDate函数定义“本年累计值”,指定的时间段也是“年”这一层级,表示从年的起点(年初)开始到当前时间为止,求度量值的累计值。创建时间维的准备工作   时间维的创建过程与创建普通维度基本相同,只是维度对象的某些设置不同。因此创建物理模型、逻辑模型、及展现模型的过程在此不细说了,如果你不了解请参考之前的文章 HelloBIEE。   在物理模型层,导入时间维表V_COMMON_DATE;将V_COMMON_DATE.DAY_ID定

4、义为V_COMMON_DATE的主键;将V_COMMON_DATE.DAY_ID定义为V_FINANCE_EXPENSE.CONSUME_DATE的外键。       在逻辑模型层,将物理表“V_COMMON_DATE”拖放到逻辑模型“Finance”内;使用“RenameWizard”重命名;将逻辑字段“DayId”定义为逻辑表“DateDim”的逻辑主键;在逻辑表“DateDim”和“ExpenseFact”之间创建逻辑连接。      在展现模型层,将逻辑表“DateDim”拖放到展现模型“消费分析”内;只保留年、月、日的名称字段,并重命名。    需

5、要注意的是,OracleBIEE对与时间维相关的物理表及逻辑表有以下要求[6]:·如果某个物理表的字段被映射到了时间逻辑表上,那么这个物理表中的字段不能再映射到其他逻辑表中。·作为时间逻辑表的数据源的物理表,只允许与物理事实表关联。且关联只能基于外键(foreignkey),而不能基于复杂连接(complexjoin)。 创建时间维   与创建普通维度对象一样,以逻辑表“DateDim”为基础创建维度对象“Date”;依次定义层级:“TotalLevel”、“YearLevel”、“MonthLevel”、“DayLevel”,并设定层级的元素数;将逻辑表“

6、DateDim”的各列拖放当相应的层级;定义各层级的层键,并设定主层键,以及用于下钻的层键。 层级Level元素数Numberofelements层键Key主层键Primary用于下钻Usefordrilldown)TotalLevel1N/AN/AN/AYearLevel3YearIdYesNoYearNameNoYesMonthLevel36MonthIdYesNoMonthNameNoYesDayLevel1000DayIdYesNoDayNameNoYes   时间维与普通维度有两处不同。首先,双击维度“Date”节点,在“Dimension”对话框

7、中需要选中“TimeDimension”选项,以表明此维度对象为时间维度。    其次,时间维度中需要定义时间序列键(ChronologicalKey)。时间序列键的作用是表明时间维中具有一组单调增加的时间序列值[1]。定义时间序列时存在以下原则:·时间维中,至少一个层级上应定义有时间序列键[2]。·物理存储的最细时间粒度上必须定义时间序列键[3]。在例子中,物理表“V_FINANCE_EXPENSEE”的日期字段“CONSUME_DATE”为日期,即物理存储的最细时间粒度为日期,因此时间维“Date”的“DayLevel”上应该定义时间序列键。·除了必要的

8、时间序列键,时间维的各个层级上均可建立额外的时间序列

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。