创建Cube操作手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章前言
本操作手册主要用于在创建OLAP数据模型时,给用户一个指导性操作步骤。
OLAP模型的建立主要有以下步骤和关键点:
1)需求调研
此时主要是通过和用户进行沟通,明确用户有什么样需求,有哪些需求。
2)需求分析
当明确用户的需求时,开发人员应该针对用户的需求进行分析。分析的目的主要是
分析现有系统有没有相应的数据支持,能不能做等。并规划以后的开发过程。
3)系统设计
详细的需求说明书确认后,此时就要整合所有的需求,进行归类,分析共性和异性。
确认实现的整个架构,统一的规范等。
4)详细设计
依据系统设计书,开发详细的程序
5)创建Cube模型
建模型
本操作手册以《原奶收购情况分析》作为例子指导
第2章用户需求
2.1 原始需求
需求说明书中原奶收购情况分析的需求如下:
原奶收购情况分析
⏹分析目的
分析牛奶收奶完成情况。
⏹分析主体
伊利集团液态奶事业部领导。
⏹数据来源
⏹分析指标
1.基础指标:实际收奶量、年计划收奶量、月计划收奶量、日计划收奶量
衍生指标:计划量
2.时间维度上的聚合关系:基础指标为加和汇总。
⏹分析维度
1、时间:年-月-日
品种: A++有机奶、A+ 原料奶、A 原料奶、A- 原料奶
机构:工厂
区域:东北区域、中南区域、西北区域
单位:吨
⏹分析案例
1.展示示例:
液态奶事业部管理层:
i.时间为日(查询的日期需求为时间段,开始时间:年-月-日,结束日期:年-
月-日)
ii.展示品种:A++有机奶、A+ 原料奶、A 原料奶、A- 原料奶
iii.展现工厂
iv.展现区域:东北区域、中南区域、西北区域
v.展示相应的分析指标。
⏹信息展现需求
1、分析可以按照时间点或时间段进行查询;除提供本期查询分析外,并支持同比分析,环
比分析,累计分析等及丰富灵活的图形化展示,包括:柱状图,饼图,折线图,地图形式,气泡图,堆积图等等
2、地图展示:提供指标告警
2.2需求分析
分析指标:
在第2.1节的分析指标中我们可以看到总共有4个指标实际收奶量、年计划收奶量、月计划收奶量、日计划收奶量。
通过分析我们知道,在ERP系统中,牛奶是通过杂项入库的方式维护到ERP当中的。但收奶计划量是业务部门通过制订计划,由外部数据Excel手工维护的。因此通过分析数据来源,我们可以清楚的知道,该需求的数据主要有两部分:ERP系统和外部数据。
分析维度:
1)时间:在时间维度上,有三种选择,年、月、日
2)品种:在ERP系统中,对原奶来说,实际上就是批次表中相应的批次号
3)机构:原奶收购量在维护进ERP时,是入到具体的原料仓中,所以通过仓库代码就可以找到对应的机构。机构肯定在某个固定的区域内。
4)区域:对于区域的划分,在ERP中并没有做明确的维护。因此需要手工定义并维护。
ERP系统中手工维护区域和仓库的关系,因此区域—机构—仓库可以建立对应关系。
2.3结论
分析指标:
实际收奶量 ERP系统
计划量外部数据
分析维度:
时间系统产生
品种手工维护
机构系统产生
区域手工维护
第3章系统设计
命名规范:
1)维度:DW_DIM_XXXX
2)事实表:DW_FACT_XXXX
3.1 维度模型
1)时间
create table DW.DW_DIM_TIME_DAY
(
YEAR_ID VARCHAR2(8) not null,
YEAR_NAME VARCHAR2(20) not null,
YEAR_ORDER VARCHAR2(8) not null,
HALFYEAR_ID VARCHAR2(8) not null,
HALFYEAR_NAME VARCHAR2(20) not null,
HALFYEAR_ORDER VARCHAR2(8) not null,
QUARTER_ID VARCHAR2(8) not null,
QUARTER_NAME VARCHAR2(20) not null,
QUARTER_ORDER VARCHAR2(8) not null,
MONTH_ID VARCHAR2(8) not null,
MONTH_NAME VARCHAR2(20) not null,
MONTH_ORDER VARCHAR2(8) not null,
TENDAYS_ID VARCHAR2(8) not null,
TENDAYS_NAME VARCHAR2(20) not null,
TENDAYS_ORDER VARCHAR2(8) not null,
FIVEDAYS_ID VARCHAR2(8),
FIVEDAYS_NAME VARCHAR2(50),
FIVEDAYS_ORDER VARCHAR2(8),
DAY_ID VARCHAR2(8) not null,
DAY_NAME VARCHAR2(20) not null,
DAY_ORDER VARCHAR2(49) not null,