数据分层之DWD

数据分层之DWD1DWD是什么?明细粒度事实层以业务过程作为建模驱动,基于每个具体的业务过程特点,构建最细粒度的明细层事实表。可以结合企业的数据使用特点,将明细事实表的某些重要维度属性字段做适当冗余,即宽表化处理.明细粒度事实层(DWD)通常分为三种:事务事实表周期快照事实表累积快照事实表。2DWD中的信息有什么?事实表中一条记录所表达的业务细节程度被称为粒度。通常粒度可以通过两种方式来表述:一种是维度属性组合所表示的细节程度,一种是所表示的具体业务含义。作为度量业务过程的事实,通常为整型或浮点型的十

大家好,又见面了,我是你们的朋友全栈君。

1 DWD是什么?

  • 属于最细粒度的明细层事实表
  • 明细层事实表的某些重要维度属性字段可以适当冗余

2 DWD中的信息有什么?

  • 有一些记录事实的数字,这些数字可以分为三种

(1) 可加性事实是指可以按照与事实表关联的任意维度进行汇总。
示例:交易订单记录表中的【用户ID】可以进行count|distinct count汇总

(2) 半可加性事实只能按照特定维度汇总,不能对所有维度汇总。
示例:库存可以按照地点和商品进行汇总,而按时间维度把一年中每个月的库存累加则毫无意义。
交易订单记录表中的【时间维度、地区维度】按照这类“自然属性”的维度进行统计,在主题层没有实际意义,而偏统计报表类计算更多在DM层进行汇总,或者在DWS层往往是以某个主题数据做核心,与其产生关系的其他主题数据作为度量值来进行统计汇总的。

(3) 完全不可加性。
示例:转化率、比率型等事实。

分类

事务事实表
事务事实表用来描述业务过程,跟踪空间或时间上某点的度量事件,保存的是最原子的数据,也称为原子事实表。
示例:
	交易订单记录表、广告投放数据表,这类数据本身是一个业务过程。
周期快照事实表
周期快照事实表中的每行汇总了发生在某一标准周期, 如一天、 一周或一月的多个度量。 其粒度是周期性的时间段, 而不是单个事务。周期快照事实表通常包含许多数据的总计, 因为任何与事实表时间范围一致的记录都会被包含在内。

示例:
	一个月|一周的销售订单周期快照, 用于按产品统计每个月总的销售订单金额和产品销售数量

另外周期快照在库存管理和人力资源系统中有比较广泛的应用
1 零售商希望通过产品和商店分析每天保有商品的库存水平,分析的业务过程是零售商店库存的每日周期快照。 
2 在人力资源管理系统中, 分析包括员工数量、支付的工资、假期天数、新增员工数量、离职员工数量,晋升人员数量等。 这时需要建立一个每月员工统计周期快照。
累积快照事实表
累积快照事实表用来表述过程开始和结束之间的关键步骤事件,覆盖过程的整个生命周期,通常具有多个日期字段来记录关键时间点。当累积快照事实表随着生命周期不断变化时,记录也会随着过程的变化而被修改。

具体实现方式:拉链表形式表达事实数据的变化过程或称历史轨迹
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153182.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 【C语言】4种方法求最大公约数和最小公倍数及比较它们的运行时间

    【C语言】4种方法求最大公约数和最小公倍数及比较它们的运行时间一、题目要求利用辗转相除法、穷举法、更相减损术、Stein算法求出两个数的最大公约数或者/和最小公倍数。最大公约数:指两个或多个整数共有约数中最大的一个。例如:【12和24】12的约数有:1、2、3、4、6、12;24的约数有:1、2、3、4、6、8、12、24。它们共有的约数为:1、2、3、4、6、12,则12和24的最大公约数为12…

    2022年5月17日
  • 在vue中使用tinymce富文本编辑器+tinymce富文本编辑器插入图片

    在vue中使用tinymce富文本编辑器+tinymce富文本编辑器插入图片1.安装#npminstalltinymce-S2.把node_modules\tinymce里面的文件包括tinymce文件夹全部复制到static文件夹下面,如下图3.在mian.js中引入tinymce(也可以在组件中引入)importTinymcefrom’tinymce’Vue.prototype.$tinymce=Tinymce…

    2022年5月1日
  • 数组和链表的区别和优缺点总结!

    数组和链表的区别和优缺点总结!数组和链表是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自的特点。链表中各结点在内存中的存放位置是任意的。 链表与数组的主要区别(1)数组的元素个数是固定的,而组成链表的结点个数可按需要增减;(2)数组元素的存诸单元在数组定义时分配,链表结点的存储单元在程序执行时动态向系统申请:(3)数组中的元素顺序关系由元素在数组中的位置(即下标)确定,链表中的结点顺序关系…

    2022年6月16日
  • Maven name与artifactId 区别[通俗易懂]

    name:Thefullnameoftheproject.artifactId:TheidentifierforthisartifactthatisuniquewithinthegroupgivenbythegroupID.Anartifactissomethingthatiseitherproducedorused

    2022年4月17日
  • LoadRunner AJAX TruClient协议Tips and Tricks

    LoadRunner AJAX TruClient协议Tips and Tricks

    2021年8月25日
  • python3获取cookie(python默认用什么浏览器爬取)

    http://blog.csdn.net/pipisorry/article/details/47980653爬虫爬网站不免遇到需要登录的问题.登录的时候可能还会碰到需要填验证码的问题,有的验证码甚至是拖动拼图来完成的.虽然现在这些都有开源解决方案,但是假设现在主要的精力想要放在如何解析html,或者验证抓取算法上,而不是通过登录验证上,那么开源解决方案并不是最好的解决方案.更好

    2022年4月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号