网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
比如对于某个超市来说,其 销售的明细数据 通常占其拥有数据的绝大部分且每天还在不断地累计和增长,而商品、门店、员工、设备等其他数据相对来说固定且变化不大。
事实表的一行对应一个度量事件
事实上,每行对应的度量事件可粗可细,比如对某个超市来说,在设计其维度模型时,表示顾客购买事件的事实表的一行即可以记录一张顾客的小票,也可以记录顾客小票的一个子项。
那么我们究竟应该到何种级别呢?
维度建模认为事实表应该包含 最底层的、最原子性 的细节,因为这样会带来最大的灵活性。维度建模中,细节的级别称为事实表的粒度,比如上文顾客购买行为事实表的粒度就应该是小票子项,而非小票。
事实表中最常用的度量一般是数值型和可加类型的
比如小票子项的销售数量、销售金额等,可加性对于数据分析来说至关重要,因为数据应用一般不仅检索事实表的单行数据,而往往一次性检索数百、数千乃至百万行的事实,并且处理这么多行的最有用的和最常见的事就是将它们加起来,而且是从各个角度和维度加起来。
但事实表中的度量并不都是可加的,有些是半可加性质的,另一些则是非可加性质的
半加性事实是指仅仅某些维度可加,例如库存,可以把各个地方仓库的库存加起来,或者把一个仓库不同的商品加起来,但是很明显不能把一个仓库同一商品在不同时期的库存加起来。
银行的账户余额也是半可加事实的例子,可以把不同分行的账户余额加起来或者不同账户人的账户余额加起来,但是不能把不同月份的账户余额加起来。
非可加性事实则