0

我有一个要发布的 SQL Server 2008 SSIS/SSAS 数据仓库多维数据集,在这个多维数据集中我有以下内容:

Dimensions
----------
Company
Product
Sales Person
Shipped Date (time dimension)

Facts
-----  
Total Income
Total Revenue 
Gross

对于上述内容,我为维度/事实数据引用设置了主 (PK) / 代理 (SK) 键。

我还想包括诸如Order NumberTransaction Number在我看来适合事实表的内容,因为每条记录的订单号都不同。如果我要创建一个订单号维度,它没有多大意义,因为我将拥有与事实一样多的订单号。

现在,当我加载我的事实数据时,我在维度上进行了多次查找以获取代理键,然后我传入事实数据并在我加载我的事实数据时还包括这些订单号和交易号varchar列,但它们无法使用因为它们不是你可以聚合的东西,所以它们不会出现在我的 SSAS 中,只有数字数据类型的列用于事实表(总收入、总收入等)。

我可以做些什么来让使用 Cube 进行过滤的任何人都可以使用这些内容吗?

4

1 回答 1

2

发票编号是退化维度的完美候选者。它可以包含在您的事实表中,但不链接到任何维度。这些数字在分析中没有用,除非您想深入调查并需要将记录追溯到源系统,并且它们没有任何合理的“维度”。Kimball 称它们为退化维度。在 SSAS 中,它们被称为“事实维度” http://msdn.microsoft.com/en-us/library/ms175669(v=sql.90).aspx

您实际上是将属性列放入事实表,而不是维度表。

一个重要提示。在维度建模中,是的,您正在尝试使用完美形成维度的星型模式,但在实际实现中不要害怕忽略理想。Kimball 甚至这样说,有时你需要打破规则,但需要注意的是你测试你的解决方案。如果它很快,那就去做吧!如果符合 Kimball 理想会使其变慢或增加不必要的复杂性,请避免使用它。

于 2012-11-06T00:17:50.617 回答