由于我是 SSAS 新手,一直在阅读有关多维 OLAP Cube 的文章并努力理解 Cube 概念,有人说虽然“立方体”一词暗示三个维度,但一个立方体最多可以有 64 个维度。您能否解释一下这在立方体上是如何实现的(除了 3-Dim 示例 x、y、z 平面)?请不要只提供学习链接,还希望得到一些解释。
2 回答
在 DW 世界中,“维度”这个词被重载了——根据上下文改变含义。这是一个例子。
- 在某一天,一位顾客走进一家商店并购买了一件产品。
这个例子有四个维度(日期、客户、商店、产品)和一个事实(销售额)。所以一个典型的 Kimball 明星看起来像:
维度(表)是很少更改的对象属性的查找表。产品、客户和商店可能会更改它们的某些属性(属性),但它们很少这样做。事实表捕获这些对象之间的交互。在日期、商店、产品和客户的维度上存在一个度量 SalesAmount
。请注意按日期、按年份、按产品、按品牌、按城市、按国家、按年龄组、按任何方式汇总(总和)销售额是多么容易——这就是最初的想法。
不要将立方体视为三维结构(尽管名称如此)。数据仓库情况下的“维度”只是一个可变值,您可以使用它来访问仓库中的数据。您可以将它们视为关键部分,但可以非常轻松地单独或组合访问它们(与经典表中的主键不同)。
例如,您可能在仓库中有以下维度来保存客户和销售数据。
- 客户ID。
- 状态(位置)。
- 年。
- 月。
- 一个月的一天。
这种布局(一个五维“超级超立方体”)将允许为跨州边界的客户轻松执行查询,这些客户可能在全年(甚至在一个月的不同时间)有不同的购买模式。
所有这些关键部分都只是针对特定客户在特定年份、特定地点的特定月份的特定月份中的某一天的单个销售数据。
有关如何访问该数据的示例。假设您想查看所有客户的购买模式如何按月变化,这些年的平均值。您可以这样做以查看哪些客户在一年中的特定时间为您带来了最多的收入,例如,您可以在此之前的一个月左右针对他们投放广告。
您将使用客户 ID 和月份来提取信息,有效地“折叠”状态、年份和日期维度(换句话说,将这三个维度的销售数据相加得到二维结果,客户与月)。