【问题标题】:Should I combine similar business processes into one fact table?我应该将类似的业务流程合并到一个事实表中吗?
【发布时间】:2014-07-03 01:18:14
【问题描述】:

我对数据仓库很陌生,所以我对设计的某些方面有点不清楚。我的公司出售会员资格。人们加入成为会员,当然辞职不再是会员。我们有加入日期和辞职日期作为维度。我们会为会员提供一个或两个事实表吗?我在想“成员加入”将是一个事实表,而“成员辞职”将是另一个事实表。或者我们是否将所有内容都包含在一个包含所有会员加入和辞职的事实表中?

【问题讨论】:

  • 您要运行哪些报告?这是一个非常重要的问题。同一个成员可以一遍又一遍地加入和离开吗?它实际上可能更适合缓慢变化的成员维度。选择度量计量进入事实时,如果粒度是相同的,则将它们放在同样的事实中。如果维度完全不同或粒度不同(即按月而不是按日),则仅使用不同的事实

标签: data-warehouse fact


【解决方案1】:

数据仓库中的事实和维度表更多地是关于外键关系。所以你可能有一个像这样的事实表:

 FactMemberStatus:
 MemberId      JoinDate         ResignDate

然后维度表如:

 DimMember
 MemberId      MemberName       MemberPhone        MemberAddress    Etc.

 DimDate
 PKDate       WeekOfYear        MonthOfYear        FiscalMonthOfYear    Etc.

然后你可以加入JoinDate->PKDate,或者ResignDate->PKDate,你也可以查询一个成员是加入还是退出,如果joindate为null,或者resigndate为null。

在不了解其他情况的情况下,这将是我的第一个想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 2016-09-29
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 2020-05-08
    相关资源
    最近更新 更多