【问题标题】:Should all dimension values be used in the fact table?是否应该在事实表中使用所有维度值?
【发布时间】:2013-05-13 19:13:51
【问题描述】:

我正在建模一个具有 6 维的数据仓库。其中一个维度是客户端,它有大约 600k 行,还有一些其他维度,例如帐户和产品。我通过乘以每个维度表的基数来估计事实表的行数,结果为 1*10^12 行。我的问题是,如果客户没有某个产品,该产品是否会有一行(在事实表中有cero 值),或者根本不会有一行?我需要这些信息来知道我的近似值是行数的上限,还是确切的行数。

【问题讨论】:

  • 可能不会。如果事实表记录了个人销售(例如)并且客户没有购买特定商品,那么将没有销售,因此事实表中没有行。这实际上很有帮助,因为它可以很容易地回答诸如“哪些客户购买了产品 X 但没有购买产品 Y?”、“销售区域 Z 中的哪些客户没有购买产品 A?”之类的问题。等
  • 谢谢!很有帮助的答案

标签: data-warehouse business-intelligence dimensional-modeling


【解决方案1】:

您不需要为每个维度组合输入一个条目。

通常情况下,事实表(或多维数据集)与理论大小(即维度基数的乘积)相比会非常小。即使维度数量相对较少(例如,时间、产品、地理、客户、销售等),这个理论行数(或单元格)也可能非常大。这被称为立方体的稀疏性; OLAP 引擎(例如,icCube、SSAS 等)通常用于有效处理这种稀疏性。

【讨论】:

  • 谢谢!正是我需要的。
猜你喜欢
  • 1970-01-01
  • 2015-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-23
  • 2019-03-13
相关资源
最近更新 更多