使用基本星型模式,我被告知事实表的行数至少等于每个维度中行数的乘积。
例如,3个产品,5个促销和10个商店意味着事实表应该至少有150条记录,无论产品实际上在每个促销中存在或存在于每个商店中。具体而言,存在空值,例如,产品没有特定的促销等等。
有人可以提供支持的学术资源,或者至少请确认这个想法。
我之所以这样问是因为我的理解告诉我这会在事实表中产生大量无用的数据。
谢谢!
答案 0 :(得分:1)
嗨谢谢你的回复。我咨询了我的讲师,他实际上为我找到了一个页面参考:“......以维度表中的行为例,对3个产品,5个客户,30天和10个销售代表进行了非常简单的示例。即使在此示例中,事实表行的数量将是4500,与维度表行相比非常大......“(Ponniah,P.,2009。数据仓库:IT专业人员的基础知识,第2版.John Wiley& Sons,Inc。 ,新泽西州。第237页)
然而,作者接着说:“我们已经说过,事实表中的一行与特定产品,特定日历日期,特定客户和个人销售代表有关。换句话说,对于特定产品,特定日历日期,特定客户和单个销售代表,事实表中有相应的行。当日期表示已关闭的假期且未接收和处理订单时会发生什么?事实表这些日期的行将没有度量值。还可能有维度表属性的其他组合,事实表行将具有空度量的值。我们是否需要在事实表中保留这些带有空值度量的行?没有必要这样做。因此,重要的是要实现这种类型的稀疏数据并理解事实表可能存在差距。“
简而言之,你们似乎是对的,谢谢!
答案 1 :(得分:0)
当然不是。我建议你让你的消息来源澄清这个说法,听起来好像在这里有一个误解。
如果你添加一个时间维度怎么办? 此外,甚至不可能将空值作为缺少促销的键,因为密钥的原因是指向一个空值而不是空值。
尺寸值可用于支持您拥有的任何事实,而不是相反。
答案 2 :(得分:0)
这可能与特定类型的事实表有关:Ralph Kimball称之为周期性快照事实表的模式。这就是事实表为每个时间点重复整行行的地方。 IMO这种方法的用处非常有限。
快照事实表并不隐含地要求事实表是其维度的乘积,但它确实构成了每个快照的正确填充应该是什么的潜在问题。尺寸的交叉积是我想的一种方法。