【问题标题】:Multiple kinds of payees多种收款人
【发布时间】:2012-10-25 22:53:47
【问题描述】:

我向各种类型的收款人付款,我想知道是否应该为每种类型的收款人创建一个维度并在我的事实表中拥有多个外键,或者通过类型属性将各种类型的收款人混为一谈并拥有PaymentFact 表中的单个 FK,代价是 PayeeDim 表中的属性对于 PayeeDim.Type 的任何特定值都没有意义...

这些情况通常是如何处理的?

TIA-e

【问题讨论】:

    标签: sql-server-2008 data-warehouse business-intelligence msas


    【解决方案1】:

    与维度建模一样,答案是“视情况而定”。如果替代方案是具有 15-20 个维度的事实表,则通常最好有一个具有一堆空属性的维度。

    对于企业来说,如果一个 Payee 是一个 payee,并且有几种 payee 类型,那么有一个 payee 维度是有意义的。但是,如果一个付款记录可以与多种不同“类型”的收款人相关联,那么每个点心都应该获得自己的事实密钥。

    【讨论】:

    • 收款人彼此非常不同。考虑一个有年龄、性别等的个人收款人与一个没有但有注册管辖权、官员等的公司。创建一个单一的维度来代表两种截然不同的动物似乎很尴尬。但另一方面,我不高兴在事实表中有 2 个 FK,因为它本质上是对单个实体的引用......
    • Kimball 在他的“数据仓库工具包”一书中对“客户”维度的讨论详细介绍了如何处理这个问题。从本质上讲,通常最好将您的客户信息全部保存在一个维度中,除非有迫切的业务理由将团队和个人分开......
    • @N West,对此 +1。感谢您让我回归基础...是的,我会同意您的原始回复。
    【解决方案2】:

    一种选择是有两个维度 - 一个带有 Payee 信息,另一个带有 Payee_Type 信息。

    【讨论】:

    • 但这似乎是无缘无故的雪花。我不确定我是否遵循您的逻辑
    猜你喜欢
    • 2018-12-20
    • 2016-03-24
    • 2015-10-20
    • 2014-06-08
    • 2021-01-03
    • 2013-08-29
    • 2013-04-26
    • 2019-05-30
    • 2014-07-24
    相关资源
    最近更新 更多