SSAS 多维数据集实际上不会对相同的记录求和 table

SSAS cube does not SUM identical records in fact table

我的 fact/measures table 包含两条相同的记录(所有列都包含相同的数据)。

当我处理多维数据集时,它似乎只汇总了两条记录之一。 因此,我没有获得预期的结果 100,而是获得了 2015/01/01 的 50 个单位。

似乎多维数据集在处理时对度量执行类似 group by 的函数,导致从两条相同的记录中仅获得 1 行。

事实Table:

Code   name       date       units
----------------------------------
 1     productA   20150101    50
 1     productA   20150101    50

我该如何克服这个问题?

从 fact\dimension 设计的角度来看,您的事实 table 中应该只有不同的维度键组合。因此,例如在您的情况下,如果

  • Code 列是 Codes 维度的键,
  • Name列是一个键 Products 维度和
  • Date 列是 Date 的键 维度和
  • Units 是一个数字事实值

那么您应该具有不同的维度键组合(代码、名称、日期)并预先聚合到此粒度级别、数字 unit 值。

因此,如果在您的情况下您需要同时拥有这两行(从业务角度来看它们不重复),那么您似乎应该更改此事实的粒度级别 table,或者在另一个换句话说,向您的事实 table 添加一个维度属性(键),这将通过一些隐藏的(目前)维度来区分这些行,例如 Operator。经过这种操作后,您的事实 table 可能看起来像这样

Code  Operator   name       date        units
1     1          productA   20150101    50
1     2          productA   20150101    50