专注于中国的商业智能

导航

KDT#32 数据仓库设计中的折中处理(二)

3.多币别的数据建模

多币别的问题与多时区的问题很相似,处理方法也类似。同样的,我们对币别问题有两个相同的观点。比如说,如果交易发生在一个特定的币别下,我们理所当然的想知道确切的币别信息。但是当我们想进行汇总统计时,多国的币别会给我们带来很大的麻烦。这时,我们的处理方法很处理多时区类似,就是保存两个币别的数据,一个时本地发生交易的类别,另一个是选择的标准币别。我们同时,我们也需要建立一个币别维度表来标识出本地的交易类别。

4.产品单位的建模

对于产品的度量事实来说,制造业的人员以车载作为单位来衡量,发送的人员以船载作为单位来衡量,而销售人员以各种销售单位来衡量。这种对于同一事实,不同的人员需要以不同的单位来衡量的事实表建模时需要多加考虑。我们可以记录最细单位的事实,并把其他单位的转换系数保存到维度表中,在查询是进行计算。但是这并不是一种好的做法,因为这样的做法师用户最终查询的效率变得很差。好的做法是,在事实表中保存最细单位的事实,并将转换系数也保存在事实表中。这样冗余的空间使查询的性能得到了很大的提升。

5.收益损失的建模

收益损失事实表是一个非常有用的事实表,因为它在一个很细的粒度上记载了企业所有的收入和成本信息。在这个很细粒度数据的基础上,设计人员有时也会提供各个中间级别的收益损失事实数据,以空间的冗余换取查询的性能。并且将一些计算固化在数据中,使最终用户得到的计算结果是相同的。

posted on 2010-08-05 13:51  李梦蛟  阅读(293)  评论(0编辑  收藏  举报