Pra*_*t G 1 sql data-modeling data-warehouse business-intelligence
我正在通过Kimball 的“数据仓库 takelit”进行探索,在那里我遇到了事实表充当维度的场景,但我主要对解释不太满意,因为我是维度建模的新手。
我的问题是
我通读了这个 tek-tips论坛,但它并没有很好地帮助我。
原始来源:Kimball 的文章
编辑:
除了上面的链接,Kimball 的汇总事实还使我能够询问将汇总事实用作维度的场景。
Kimball 并不是说“事实表充当维度”。他说数值有时可以建模为维度属性(维度表中的字段)或事实(事实表中的字段),或两者兼而有之。
一个典型的例子是产品标价,例如 MSRP(制造商建议零售价)。一些设计者会将其建模为事实(因为它是一个数字——即实际上表“销售额”)。其他人会将其建模为维度属性(即,在维度表“产品”中)。Kimball 所说的是,您可以在同一模型中同时拥有两者。MSRP 作为维度属性可用于过滤,而 MSRP 作为事实可用于计算(即,MSRP - 销售价格 = 销售折扣)。
微妙的点是这些:
在这两个地方都使用它可以为您提供最大的灵活性并简化模型的使用,但会增加 ETL 工作。所以,如果你需要这样的灵活性,这是一个很好的设计。如果您只打算以一种特定方式使用该值,则可以为自己节省一些数据仓库工作。