oracle - 事实表中的事实值或度量是什么意思?
问题描述
我对事实值有很大的困惑,它是通过 ETL 机制直接从 OLTP 派生到事实表中,然后我们需要执行聚合函数来通过抛出查询来总结它吗?或者它只是我们从呈现到星型模式中的维度表而不是直接从 OLTP 中获得的汇总值?
请参阅附件中的两个示例以获取更多详细信息。
在鲜明的 schema1 图像中,https: //i.stack.imgur.com/Ibbg7.png 事实表显示两个事实或度量为“dollars_sold”和“unit_sold”这是从哪里来的?& 它没有被汇总,但是通过应用聚合函数汇总日期可以获得该事实表。
在鲜明的 schema2 图像中,事实表显示一个事实或衡量为总销售额,但在这里我知道它来自 customer-trans-dia,它也是汇总数据。
那么请告诉我这两个例子中哪一个是正确的?
提前致谢。
解决方案
是不是直接从OLTP通过ETL机制派生到事实表中
是的,这就是 FACT 表的通常含义:最低级别的操作数据项的表。
此类数据随后可在数据集市中被处理成聚合或其他配置。但数据集市用户通常希望能够在必要时深入挖掘原始数据。否则他们怎么能对总金额有信心呢?
因此,您的第一个模式示例显示了一个真实的事实表,而您的第二个示例更像是一个数据集市。(数据集市源自事实表,但通常不会立即公开原始数据,而是提供适合数据集市目的的处理版本。)
这是从哪里来的?
您的第一个示例模式显然是一个玩具,旨在用于培训目的。在现实生活中,我们希望事实表具有元数据列,告诉我们数据来自何处以及何时加载到表中,除此之外可能还有很多其他信息。
推荐阅读
- android - 即使活动没有进行任何繁重的计算,是什么导致“慢帧”?
- iterator - 关于使用 tf.records 文件训练 tensorflow 估计器的问题
- c# - 在生产中通过 TLS/SSL 连接时的服务器证书/域自定义验证
- java - BigDecimal 包装器:拥有零静态字段
- floating-point - 找到最小整数 I,当它表示为浮点数时,I+1=I
- ios - CADisplayLink 无法在模拟器中实现恒定帧速率
- c++ - 指向 const 的成员指针
- c++ - 可以在条件之前重新排序加载或存储吗?
- amazon-web-services - 用户无权执行:iam:PassRole on resource error in create AWS codepipeline
- c# - 如何将游戏对象移动到触摸屏幕的位置?