星型模式由维度表和事实表组成。
事实表包含每个维度的外键,除此之外,它还包含“度量”。这项措施究竟包括什么?
是存储了一些聚合函数的答案吗?
星型模式由维度表和事实表组成。
事实表包含每个维度的外键,除此之外,它还包含“度量”。这项措施究竟包括什么?
是存储了一些聚合函数的答案吗?
基本上是的。
如果你有一个简单的网格
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 Cube 设计的艺术究竟如何)。
(琐事:您可以计算度量,使用 MDX 查询例如金额与上一季度比较的偏差,整个季度的平均工资等;很明显,合并公式需要考虑) .
此时,您将开始看到设计合并规则取决于计算规则的顺序(如果“工资偏差 %”的公式首先评估然后合并,则需要对其进行平均;但是,如果原始 SALARY 度量首先合并(汇总)到 Q1、Q2 级别,然后可以像在最低级别一样计算派生的 Measure。
现在,在决定如何存储立方体时,事情变得更有趣了。基本上有两种方式:
大多数 OLAP 引擎都采用混合方法 (HOLAP) 并不会让任何人感到惊讶,在这种方法中,经常访问的合并级别的重要部分是预先计算和存储的,而其他部分则是动态计算的。
有些会将基础数据存储在标准 RDBMS (ROLAP) 中,有些则不会 (OLAP)。专注于高性能的引擎倾向于将所有数据保存在预先计算的多维数据集中(仅对非常稀疏的维度使用“许多小的子多维数据集”)。
好吧,无论如何,这有点咆哮。我喜欢在做数据仓库和 OLAP 时漫无边际地学习我曾经学到的东西
事实和措施是同义词 afaik。事实是数据:销售、生产、交付等。维度是与事实相关的信息(时间、地点、部门)。
措施是两种事物之一。
措施。测量。带单位的数字。美元、重量、体积、尺寸等。测量值。
聚合体。数据的总和(有时是平均值)。它可能是仓库中的数据:出于性能原因预先计算的聚合。或者它可能是因为太详细而无法获取(或不需要)的数据。音量太大什么的。
事实表最重要的是非关键度量是带单位的实际度量。
如果它是一个相邻的树模型,它将是标题字段或包含数据的任何其他字段。