SSAS多维数据集不会在事实表中使用相同的记录

时间:2016-03-01 10:24:35

标签: sql-server ssas cube

我的事实/度量表包含两个相同的记录(所有列包含相同的数据)。

当我处理多维数据集时,它似乎只汇总了两个记录中的一个。 所以我没有得到我期望的结果100,而是在2015/01/01获得50个单位。

似乎多维数据集在处理时对度量执行类似group by函数的操作,导致从两个相同的记录中只获取一行。

事实表:

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

我该如何克服这个问题?

1 个答案:

答案 0 :(得分:0)

从事实\维度设计的角度来看,您应该在事实表中只有维度键的不同组合。所以,例如在你的情况下,如果

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

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

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

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