星型架构由维表和事实表组成。
事实表包含每个维度的外键,除此之外,它还包含"measures“。这一措施到底包括哪些内容?
存储的是某个聚合函数的答案吗?
发布于 2011-10-01 06:05:22
基本上是这样的。
如果你有一个简单的网格
Salary Januari Februari March April May June
Q1 Q2
Me 1100 1100 1100 1100 1500 1500
Collegue1 2000 2000 2000 0 0 0时间是一个具有两个级别的分层维度(如图所示)。显示的另一个维度是“EmployeeID”。另一个维度(未显示)可能在PointOfView中(例如预算/实际)。
数量(例如1100)是衡量标准,它构成了你的事实(事实的非识别部分)。维度为不同级别上的每个度量定义合并函数(例如,Amount(Q1) == SUM(Amount(January...March)。请注意,合并将根据度量值的不同而有所不同(例如,不会对所得税%求和,而是以某种方式合并: OLAP多维数据集设计的艺术到底是如何的)。
(琐事:您可以有计算的度量,使用MDX来查询例如与上一季度相比的金额偏差,整个季度的平均工资acoss等;很明显,合并公式需要考虑)。
此时,您将开始看到,合并规则的设计取决于规则的计算顺序(如果先计算“薪资偏差%”的公式,然后进行合并,则需要对其求平均值;但是,如果首先将原始薪资度量合并(求和)到Q1,Q2级别,则可以像在最低级别一样计算派生度量。
现在,在决定如何存储多维数据集时,事情变得更加有趣。基本上有两种方式:
预计算所有单元格(包括所有scenarios)
中的所有合并
大多数OLAP引擎都集中在混合方法(HOLAP)上,这并不奇怪,在混合方法中,经常访问的合并级别的重要部分是预先计算和存储的,而其他部分是动态计算的。
有些会将底层数据存储在一个标准的RDBMS (ROLAP)中,另一些则不会(OLAP)。专注于高性能的引擎倾向于将所有数据保存在预先计算的立方体中(对于非常稀疏的维度,只求助于“许多小的子立方体”)。
好吧,不管怎么说,这有点夸张。我喜欢漫无边际地讲述我在做数据仓库和OLAP时学到的东西
发布于 2011-10-01 05:51:00
事实和度量是afaik的同义词。事实是数据:销售、生产、交付等。维度是与事实相关的信息(时间、位置、部门)。
发布于 2011-10-01 05:51:48
度量是两种事情中的一种。
事实表最重要的一点是,非关键度量是具有单位的实际度量。
https://stackoverflow.com/questions/7616420
复制相似问题