FactLoanVolume-一个或多个事实表

时间:2018-08-07 15:42:47

标签: data-warehouse fact-table

我正在设计一个事实表来报告贷款额。每笔贷款的谷物为一行。我们报告的一项贷款有几个主要里程碑:按顺序排列,分别是锁定数量,贷款资金数量和贷款销售数量。

我在“事实”表中将锁定日期,贷款资金日期和贷款出售日期设为FK(除这些维度以外,还有其他维度),以便在DimDate表中扮演角色。

我的问题是,我应该创建单独的事实表来报告每个主要里程碑的交易量,还是应将所有这些信息保存在一个事实表中并使用“将来的某个日期”(例如12/31/2099)达成尚未达到的贷款里程碑?

我已经阅读了Kimball书籍,但没有找到明确的答案(如果存在的话)。

谢谢

2 个答案:

答案 0 :(得分:0)

通过将粒度设置为更细致的里程碑级别,您可以从不可变设计中受益。

这将为您提供列

 transaction_id
 milestone_type  
 milestone_date

在您的事实表中。交易的实际里程碑是来自最近(最近)记录的里程碑。

一个优点是,您将来可能会添加新的里程碑类型,但主要的好处是,您不会更新您的事实表,而只能使用插入。

您可以安全地回滚错误的ETL加载,只需删除记录即可;使用更新要复杂得多。

您还可以实现更复杂的状态图,例如以防万一某个里程碑被撤消而交易回退到以前的状态。

是否使用一个或多个事实表的问题取决于里程碑是否相同。如果里程碑具有不同的属性,则可以使用专用事实表获得更简洁的设计,但查询会变得复杂。

答案 1 :(得分:0)

您宁愿只有一个事实表。

接下来的问题及其对话很好地回答了“ One or multiple fact tables?”这个一般性问题,但也许不怎么解决您的日期问题。