事实表负载方法

时间:2014-03-26 11:51:11

标签: database-design data-modeling etl ssis

我创建了基于星型模式的封闭数据模型,我已经加载了所有维度,但试图找出加载事实表的方法。

我在这里的困惑是外键,例如我有来自"制造商"的约6787条记录。即ManfID表,但是来自" Dim_Transactions"的约50个K记录。即交易ID

不确定这将如何存储在Fact表中,这是一个设计缺陷吗?我该如何解决这个问题?

我认为这可以通过在所有密钥上设置多个值来管理,例如:将有50K事实记录与其他键重复。

如果是这样我将如何加载事实表,我在这里使用SSIS并创建了查找文件以使用其他列唯一标识主键

enter image description here

1 个答案:

答案 0 :(得分:0)

摆脱dim_Transactions。分支和区域的嵌入维度存在于其他地方。如果需要,将Approved,Declined和Reversal CashAmt列聚合为Fact_ATM中的度量。

有时人们会在数据仓库或临时数据库中保留事务表的副本以进行审计或报告,但没有理由将其放在星型模式中。

在某种程度上,我会为此感到悲伤,交易可以被视为最细粒度的事实表。但是交易代表了一个原子事件,我无法想象一个人如何能够维持一个维度。