具有不同更新计划的事实表

Posted

技术标签:

【中文标题】具有不同更新计划的事实表【英文标题】:Fact Table with Different Update Schedules 【发布时间】:2010-10-12 20:11:46 【问题描述】:

我有两组粒度相同的数据,例如发票编号。由于我们确认了以前发票的收入,因此所需的大部分数据每天都会更新。但是,其中一些数据每月一次通过单独的成本核算系统提供,然后与其他信息一起提供给数据仓库。我应该创建一个包含两组数据的事实表,然后在导入其他数据时每月对事实表运行一次更新,还是应该因为更新计划不同而创建两个事实表。数据是相关的,许多查询 (~35%) 需要来自两组数据的信息(如果可用)。系统每天导入 30,000 行到事实表中,其中大约有 38,000,000 行,每月更新将影响 660,000 行。

【问题讨论】:

从您的帖子中不清楚您是否会创建重复条目。 “一些数据是通过成本核算系统提供的”。这是否意味着它直到成本核算系统步骤之后才进入 DWH,还是所有数据都进入 DWH 并且一些数据也发送到成本核算系统? 不会有重复。输入成本核算系统的数字已经在数据仓库中,不会重新输入。只会插入新的数据元素(事实)。 【参考方案1】:

如果在第二步中没有修改已经存在的度量,您可以将事实表视为“累积快照”。 该表描述了具有明确开始和结束的流程——一种工作流。在 Kimball 的 Data Warehouse Toolkit 中查找,或者在 Google 中查找“Kimball 累积快照事实表”。

【讨论】:

这看起来很适合我正在做的事情,谢谢。

以上是关于具有不同更新计划的事实表的主要内容,如果未能解决你的问题,请参考以下文章

将一个维度加入具有不同粒度的多个事实表

DataWarehouse - 具有不同粒度/维度度量的事实表

具有不同级别日期维度数据作为日期维度键的事实表

如何对链接到具有不同粒度级别的多个事实的维度表进行建模?

如何使用来自两个不同表SQLite的元素更新/删除

作为事实表的可编辑数据