我知道有三种类型的事实,并且我读到事务事实表具有完全可加事实,这是最有用的类型,但非可加事实也可以存在吗?甚至是半加性的事实。
我问这个问题是因为我的老师在她的一次演讲中有这样的内容:
"虽然非累加事实不存储在事实表中,但重要的是不要失去他们的踪迹。对于许多流程,比率至关重要没有测量,解决方案将留下很多是需要的非附加事实应记录为架构设计的一部分">
如果它们不能存储在那里,那么如何将它们作为模式设计的一部分进行记录呢?
说"…没有存储在事实表中"是不正确的,在某些情况下需要存储它们。
例如,我最近开发了一个数据仓库,它有三个日期——订单、激活和完成。这些日期通过维度相关,但事实测量包括从激活到激活的天数、从激活到完成的天数和从激活到结束的天数。
最佳实践是在BI工具中导出这些度量。在这种情况下,您将记录当天度量的计算,以演示如何从现有数据值中满足要求。
然而,在我们最近的例子中,这些是KPI级别的度量,对业务至关重要。我们选择在事实表中实现这些度量,而不是让人们在Excel、Tableau、PowerBI等中计算它们(可能不同)。
它们被记录为非相加的,因为总和(完成的天数)是没有意义的,尽管值得注意的是,在这种情况下,最小值、最大值和平均值是有意义的。