一、确定主题

即确定数据分析或前端展现的主题。(以汽车行业的KPI管理分析系统为例)

例如:我们希望分析某年某月某区域某门店销售情况,这就是一个主题。

主题要体现出某一方面的各分析角度(维度)和统计数值型数据(量度)之间的关系,确定主题时要综合考虑。统计数值型数据(量度)存在于中间的事实表;分析角度是各个维度;我们将通过维度的组合,来考察量度。

那么,“某年某月某某一地区某一门店的销售情况”这样一个主题,就要求我们通过时间、地区和门店三个维度组合,来考察销售情况这个量度。

从而,不同的主题来源于数据仓库中的不同子集,我们可以称之为数据集市。数据集市体现了数据仓库某一方面的信息,多个数据集市构成了数据仓库。

二、确定量度

在确定了主题以后,我们将考虑要分析的技术指标,诸如:年销售额之类。它们一般为数值型数据。

我们或者将该数据汇总,或者将该数据取次数、独立次数或取最大值最小值等,这样的数据称为量度。量度是要统计的指标,必须事先选择恰当,基于不同的量度可以进行复杂关键性能指标(KPI)等的设计和计算。

三、确定事实数据粒度

在确定了量度之后,我们要考虑到该量度的汇总和不同维度下量度的聚合情况。考虑到量度的聚合程度不同,我们将采用“最小粒度原则”,即将量度的粒度设置到最小。

例如:假设目前的数据最小记录到月,即数据库中记录了每月的交易额。

那么,如果我们可以确认,在将来的分析需求中,交易额只需要精确到月就可以的话,我们就可以在ETL处理过程中,按月为单位来汇总销售数据,此时,数据仓库中量度的粒度就是“月”;反过来如果我们不能确认将来的分析需求在销售额上是否需要精确到月,那么,我们就需要遵循“最小粒度原则”,在数据仓库的事实表中保留每日的销售数据,以便日后对“天”进行分析。

举例:汽车行业KPI分析系统中,需求变更要求以天为单位分析门店的销售情况。

四、确定维度

1、如何理解维度?及维度的层次(Hierarchy)和级别(Level)

a、维度是指分析的各个角度。例如我们希望按照时间,或者按照地区,或者按照门店名称进行分析,那么这里的时间、地区、门店就是相应的维度。基于不同的维度,我们可以看到各量度的汇总情况,也可以基于所有的维度进行交叉分析。

b、维度的层次(Hierarchy)和级别(Level)

层次:时间维表结构为例,年-半年-季度-月-半月-旬-周-日

级别:门店维表结构为例,门店集团分类、门店类型分类等等

2、什么是缓慢变化维度?

维度表随时间变化的问题,我们称其为缓慢变化维度。

以客户维度表结构为例,每月所属有限公司发生变化,客户代码、客户标识、源客户标识、客户全称、分公司编号、分公司名称、历史标识(T/F)等变化。

五、创建事实表

a、了解

在确定好事实数据和维度后,我们将考虑加载事实表。

事实表装有企业的度量数据,度量以及事实表才是最终用户真正想要看的内容,维表是事实表数据的入口,事实只有通过维度解释才会变得有意义

b、如何创建?

做法:将原始表(OLTP)与维度表进行关联,生成事实表

注意点:在关联时有为空的数据时(数据源脏),需要使用外连接,连接后我们将各维度的代理键取出放于事实表中,事实表除了各维度代理键外,还有各量度数据,这将来自原始表,事实表中将存在维度代理键和各量度,而不应用存在描述性信息,即符合“瘦高原则”,即要求事实表数据条数尽量多(粒度最小),而描述性信息尽量少。

事实数据表是数据仓库的核心,需要精心维护,在JOIN后将得到事实数据表,一般记录条数都比较大,我们需要为其设置复合主键和索引,以实现数据的完整性和基于数据仓库的查询性能优化。事实数据表与维度表一起放于数据仓库中,如果前端需要连接数据仓库进行查询,我们还需要建立一些相关的中间汇总表或物化视图,以方便查询。

etl构建数据仓库五步法_构建数据仓库五步法相关推荐

  1. 数据仓库—stg层_马蜂窝数据仓库的架构、模型与应用实践

    (马蜂窝技术原创内容,公众号ID:mfwtech) 一.马蜂窝数据仓库与数据中台 最近几年,数据中台概念的热度一直不减.2018 年起,马蜂窝也开始了自己的数据中台探索之路. 数据中台到底是什么?要不 ...

  2. java 构建是什么意思_构建的概念

    [Maven 简介] Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理.Maven 这个单词的本意是:专家,内行. Make-> ...

  3. fusion构建器代码语法_构建器模式:适用于代码,适用于测试

    fusion构建器代码语法 我发现构建器设计模式偶尔在代码中有用,但在测试中经常有用. 本文简要概述了该模式,然后介绍了在测试中使用该模式的一个有效示例. 请参阅github中的代码. 生成器模式的背 ...

  4. 微信小程序构建商城百度云_构建云存储应用程序

    存档日期:2019年5月13日 | 首次发布:2015年2月13日 了解如何创建一个简单的Node.js应用程序,该应用程序使用IBM Object Storage Service for Bluem ...

  5. 2920集五福_支付宝集五福攻略 ▏顺便学点营销活动传播套路

    到今天为止,你一共收齐了几张福卡了呢? 本月5号,支付宝在微信公众号里发了<新年俗 集五福>的推文,"2月6日0点,支付宝里见,有你们就有福". 同时,一名叫" ...

  6. bp神经网络预测未来五年数据_预测 | 未来五年以太网收发器出货将达2.75亿只

    新闻导读 LC最新预测表明,从2021年到2025年间,供应商将售出2.75亿只以太网收发器,为其带来240亿美元的收入.但由于激烈的竞争.电信和企业网络投资的放缓,以及中美敌对升级可能导致中国云数据 ...

  7. 2920集五福_支付宝集五福2020工具

    集福宝是一款由网友最新开发的集福工具,2020支付宝集福活动正式开启,如果你想要快速集齐五福的话,它可以帮上很大的忙.只需要扫一扫即可,不用去别的地方找福字,快来体验一下吧. 集福宝使用说明 直接通过 ...

  8. python模拟春节集五福_过年扫五福,干脆我用Python做一个五福生成器

    原标题:过年扫五福,干脆我用Python做一个五福生成器 新的一年又要到来了,各个大的公司又在这年末为大家送上了新春的祝福,支付宝还是延续了这几年的传统,在年末为大家送上了集五福的活动,为了大家能更快 ...

  9. etl构建数据仓库五步法_带你了解数据仓库的基本架构

    数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support).其实数据仓库本身并不"生产"任何数据,同时自身也不需要"消费&quo ...

最新文章

  1. bicg matlab,除了bicg之外,还可以使用哪些迭代子解算器来解决MATLAB中的牛顿方程?...
  2. 计算机丢失qt5sql.ll,电脑中提示丢失Qt5core.dll文件的解决方法
  3. Linux 挂载windows网络共享文件 /etc/fstab功能详解
  4. New Chapter
  5. 嵌入式Linux入门10:编译管理Makefile
  6. 数据结构 python堆_Python中的堆栈数据结构是什么?
  7. 怎样和处在“叛逆”阶段的孩子交流沟通?
  8. Datawhale 零基础入门CV赛事-Task5 模型集成
  9. Spark on YARN 两种模式yarn-cluster yarn-client 面试题
  10. Linux下redis基本安装配置(CentOS7)
  11. ASIHttpRequest没更新,MKNetWorKit更优越
  12. java7jdk官网下载安装,JDK官方网站下载、安装教程及环境配置,jdk官方网站
  13. 智慧档案库房库房一体化安全管控平台方案【转载】
  14. Inno Setup 6.0.3+ 简体中文语言包
  15. Unity-汽车仿真-1.车库UI菜单滑动功能(利用iTween)
  16. macpro如何清理磁盘空间_Mac怎么清理磁盘空间, 如何清理Mac内存?
  17. Python + Scrapy 小小爬虫有大大梦想
  18. 【运筹学】线性规划 图解法 ( 唯一最优解 | 无穷最优解 | 无界解 | 无可行解 )
  19. NJU 2020 计算机拔尖(数学)测试 解题报告
  20. 风暴孵化浅谈:何为值得手游代理的“好”游戏

热门文章

  1. 下载的JAVA9怎么没有jshell_java9系列(一)安装及jshell使用
  2. 戴尔服务器哪1顶型号好,戴尔PowerEdge R730xd新一代服务器评测
  3. 剑指offer面试题63. 股票的最大利润(动态规划)
  4. 剑指offer面试题53 - I. 在排序数组中查找数字 I(二分查找)
  5. LeetCode 458. 可怜的小猪(信息论方法)
  6. tensorrt之tensorrtx编译:遇到的错误提示
  7. linux 配置redis密码
  8. [luogu2414 NOI2011]阿狸的打字机 (AC自动机)
  9. c#中(,||)与(,|)的区别和应用
  10. 安装配置mariadb-10.1.19