是否包含维度表中累积快照表的所有信息?

时间:2013-03-13 01:02:35

标签: database database-design database-schema data-warehouse

我已经为客户注册的步骤创建了一个累积的快照事实表 - 例如,每个步骤的时间,步骤之间的时间。

如果我想要一个非常丰富的客户维度,我是否可以包含来自累积快照表的所有列?或者这是多余的?

如果我在客户维度中包含累积快照中的列,那么为流程设置事实表有什么意义呢?如果我不包括列,我将无法使用我的客户维度轻松过滤。

1 个答案:

答案 0 :(得分:4)

当您想回答诸如“生命花费大于1000美元的客户在过去7天内的总净销售额是多少?”时,通常向客户维度添加“近实时”指标对于分析非常有用。

将此数据存储在累积快照中会设置多步ETL过程:

  1. 加载交易事实表
  2. 加载客户维度,保留昨天的指标。
  3. Load Accumulating Snapshot
  4. 使用新的生命周期指标更新客户维度。或者,使用此快照表创建一个预先加入客户昏暗的视图。
  5. 您可以选择在客户维度构建中执行此操作,但将表格分离为累积快照对于直接在该快照表上进行分析非常有用。

    例如,如果我的累计快照是“按产品划分的终生客户销售额”,我可以从中提取所有产品的总生命周期销售额,并将其置于我的客户昏暗状态(可能比再次查询交易事实更快) 。我仍然希望能够通过客户分析将这一事实用于产品。

    如果您的累积快照仅限于客户 ,我可以看到直接在客户昏暗上进行构建。但通常将它放在较低的粒度是有用的,所以可以用它做其他事情。