数据仓库开发之路之三--时间维度的创建
2010-05-19 09:23
387 查看
在数据仓库中,无一例外地需要和时间维度打交道,因此设计合理的时间维度,也是一个数据仓库项目开始必备的资源储备,如果有这方面的积累,就不用到处寻找合适的设计模型以及存储过程的代码了,否则可能需要花费一定的时间去寻找符合该项目合适的存储过程,或者自己动手编写。
一般来说,时间维度的创建要根据实际的数据仓库应用来,基本上可以分为天、月的时间维度表,更细的可以分为半小时时间段,小时时间段等等,一般数据量大的时间维度都是利用存储过程来生成的。
下面介绍一些时间维度表的设计结构。
代码CREATE OR REPLACE VIEW DW_DIM_TIME_MONTH_V AS
SELECT DISTINCT
T.MONTH_CODE,
T.MONTH_LONG_DESC,
T.MONTH_MEDIUM_DESC,
T.MONTH_SHORT_DESC,
T.QUARTER_CODE,
T.QUARTER_LONG_DESC,
T.QUARTER_MEDIUM_DESC,
T.QUARTER_SHORT_DESC,
T.HALF_YEAR_CODE,
T.HALF_LONG_DESC,
T.HALF_MEDIUM_DESC,
T.HALF_SHORT_DESC,
T.YEAR_CODE,
T.YEAR_LONG_DESC,
T.YEAR_MEDIUM_DESC,
T.YEAR_SHORT_DESC
FROM DIW.DW_DIM_TIME T;
一般来说,时间维度的创建要根据实际的数据仓库应用来,基本上可以分为天、月的时间维度表,更细的可以分为半小时时间段,小时时间段等等,一般数据量大的时间维度都是利用存储过程来生成的。
下面介绍一些时间维度表的设计结构。
<1> 时间维度表1(两列都是字段)
维度属性 | 维度属性 |
日期关键字 | 日历年月 |
日期完全描述 | 日历季度 |
星期 | 日历半年度 |
纪元日编号 | 日历年 |
纪元周编号 | 财政周 |
纪元月编号 | 年度财政周数 |
日历日期编号 | 财政月 |
日历周编号 | 年度财政月数 |
日历月编号 | 财政年月 |
财政月日编号 | 财政季度 |
财政周编号 | 财政季年度 |
财政月编号 | 财政半年度 |
周末指示符 | 财政年 |
月末指示符 | 节假日指示符 |
日历周结束日期 | 星期指示符 |
年度日历周数 | 销售时令 |
日历月名 | 重大事件 |
年度日历月数 | 其它 |
<1> 时间维度表2 a.日期维度
名称 | 代码 | 数据类型 | 主外键 |
序列号 | C_ID | int | P |
日期 | C_DATE | datetime | |
星期 | C_WEEK | varchar(12) | |
月份 | C_MONTH | varchar(2) | |
年 | C_YEAR | varchar(4) | |
季度 | C_QUARTER | varchar(4) |
b.半小时时间维度
名称 | 代码 | 数据类型 | 主外键 |
序列号 | C_ID | Varchar(50) | |
时段 | C_SHIDUAN | Varchar(4000) |
相关文章推荐
- 数据仓库开发之路--时间维度的创建
- 创建日期时间维度数据
- 数据仓库脚本生成时间维度
- 数据仓库时间维度
- 数据仓库开发之路之一--准备工作
- 数据仓库开发之路之二--概述整个开发流程
- 开发一个好项目:六、创建数据源,创建数据仓库
- 数据仓库的时间维度
- 系统设计之时间维度[数据仓库]
- 系统设计之时间维度[数据仓库]
- 创建时间维度数据
- Oracle中创建时间维度表并插入数据
- 数据仓库的时间维度表 Sql
- 创建时间维度数据
- Unity3D开发学习之路--两种在Unity3D中创建倒计时器的方法
- Rational Edge: 利用基于 RUP 的方法开发数据仓库 —— 第 1 部分:初始阶段
- 如何创建一个可以保存13亿数据的数组?兼谈时间和空间之间永无休止的战争
- ORACLE11G创建数据仓库的步骤(图示)
- 数据仓库专题(8)-维度属性选择之维护历史是否应该保留
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime(10)