1

我对事实值有很大的困惑,它是通过 ETL 机制直接从 OLTP 派生到事实表中,然后我们需要执行聚合函数来通过抛出查询来总结它吗?或者它只是我们从呈现到星型模式中的维度表而不是直接从 OLTP 中获得的汇总值?

请参阅附件中的两个示例以获取更多详细信息。

在鲜明的 schema1 图像中,https: //i.stack.imgur.com/Ibbg7.png 事实表显示两个事实或度量为“dollars_sold”和“unit_sold”这是从哪里来的?& 它没有被汇总,但是通过应用聚合函数汇总日期可以获得该事实表。

在鲜明的 schema2 图像中,事实表显示一个事实或衡量为总销售额,但在这里我知道它来自 customer-trans-dia,它也是汇总数据。

那么请告诉我这两个例子中哪一个是正确的?

提前致谢。

4

1 回答 1

1

是不是直接从OLTP通过ETL机制派生到事实表中

是的,这就是 FACT 表的通常含义:最低级别的操作数据项的表。

此类数据随后可在数据集市中被处理成聚合或其他配置。但数据集市用户通常希望能够在必要时深入挖掘原始数据。否则他们怎么能对总金额有信心呢?

因此,您的第一个模式示例显示了一个真实的事实表,而您的第二个示例更像是一个数据集市。(数据集市源自事实表,但通常不会立即公开原始数据,而是提供适合数据集市目的的处理版本。)

这是从哪里来的?

您的第一个示例模式显然是一个玩具,旨在用于培训目的。在现实生活中,我们希望事实表具有元数据列,告诉我们数据来自何处以及何时加载到表中,除此之外可能还有很多其他信息。

于 2019-10-28T10:38:33.433 回答