我正在尝试以正确的方式实现事实表及其汇总,以便有一天能够将其传输到某个 BI 系统
并且,根据Oracle 的文章和KimballGoups 的文章,据我所知,整个设计必须遵循严格的原则
所以,假设有一张表fact_sales
:
-----------------------------------------
| dim_store | dim_product | total_sales |
-----------------------------------------
| 1 | 1 | 10 |
| 1 | 2 | 20 |
| 2 | 3 | 20 |
-----------------------------------------
假设,需要制作另一个表,按商店汇总,省略产品列,因此,它看起来像这样,fact_sales_by_store
:
---------------------------
| dim_store | total_sales |
---------------------------
| 1 | 30 |
| 2 | 20 |
---------------------------
而且,我想,事情并没有那么简单,要使BI的聚合导航正常工作,必须在维度上有一些技巧,但我无法从文章中获得
正如我所看到/猜测的,在昏暗和事实表之间一定是某种“逻辑表源”,还是某种层次变暗?
你能根据那个例子进一步指出我吗?)大谢谢
对于任何现代 BI 应用程序(例如 Power BI),我根本不会创建聚合表。使用的 BI 应用程序应该能够通过任意维度组合灵活地聚合数据。
可能有比你概述的更复杂的要求,这证明创建两个具有不同粒度/粒度的事实表是合理的。在这种情况下,一个功能强大的 BI 工具可以将来自两个事实表的聚合汇总到一个输出数据集/视觉对象中。统一因素是任何常见的维度表。
创建聚合表是出于性能原因,而不是因为 BI 工具无法创建聚合
他们曾经是这样,但 Power BI 等应用不再需要它们。使用其 Vertipac(列存储)架构的聚合几乎总是优于 SQL 聚合。OP 链接的两篇文章都有 5 年以上的历史。金布尔集团于 2015 年关闭。