时间维度的使用说明
作者 : 霍琦
目录
1. 定义
时间维度是指级别表示时间段 ( 如年、季度、月和天 ) 的维度类型,可以包含不同的层次,如适合普通计算的自然年月,适合会计工作的会计年月。时间维度中的级别可提供用于分析和报告的基于时间的粒度级别。时间维度的粒度主要由历史数据的业务和报表需求决定。
2. 产品演示
2.1. 创建时间维度
时间维度的创建通过向导实现,向导完成后会生成时间维表和维度模型,下面我会根据向导中每一步的操作及其中属性做出说明。
起始时间和终止时间:时间维表的记录范围。
每周第一天:默认选择星期一,但是在有些场景,每周第一天是星期日,这样在计算“周”这个级别时会有差异。
日期格式:根据事实表中的维度外键的格式类型,以及维度成员展示的格式进行选择。
自动扩展:指时间维表的终止时间会随着时间的推移而自动变化,比如创建时选择终止时间是 2015-12-31 ,如果现在时间是 2016-02-22 ,则时间维表的终止时间会自动扩展到 2016-12-31.
时间属性中包括了备选的六个级别,维表数据会自动根据选中的级别对数据做处理。
这里要做特殊说明的是,“周”级别不能与“半年”,“季度”,“月”级别同时存在,因为它们没有父子关系,“周”的父级别只有“年”,一年有 52 周。
当选择“周”时,“周显示形式”会变成可用,默认情况是第一周、第二周 … 第 n 周,另一种形式是用周的起始和结束天来描述某一周。
“年”作为最高级别,必须选中。
常规日历:指自然年月形成的日历。
会计日历:在会计行业中,由于业务上的规定,起始时间可能不是一月一日,比如某些行业认为每年的二月是该业务年的第一个月,比如 2015 年是从二月开始的,结束于 2016 年一月。
会计日历命名约定:指年显示字段的命名方法,如果选择“年名称 +1 ”,则年显示字段的命名都是数据字段的基础上加一。
当维度创建结束后,会有一个模型概览,包括维度名称及维度层次结构。
2.2. 模型说明
创建完成后模型如上图,与普通维度不同的地方在于,维度中的类型是时间维度。
维表使用创建的时间维表,表名称以 BI_DIM_TIME_ 开头。
维度包含的级别是我们选中的级别,本例中包含“年”,“月”,“日”
2.3. 物理表结构
这是一部分数据。
第一列是维表主键,它的数据和最低级别的数据一致,本例中 PK_DATE 和 F_DAY 数据是一致的。
每个级别包含两列,数据列和显示列。数据列的格式和模型创建时选择的格式相同。
2.4. 使用时间维度
时间维度的使用和普通维度一样,需要和事实表关联,展示以时间作为分析维度的分析结果。
下面我创建了一个只有“年”和“月”两个级别的时间维度,在报表中使用。
事实表中的数据如下,重点关注 TIMEDIM_ID 列。