我有一个名为FactSales的度量的多维数据集,每天都有条目。
我有三个维度,日期,客户和客户类型。
每个FactSales行都通过外键链接到日期和客户。客户通过外键链接到客户类型。
由此我可以在每个日期为每个客户吐出所有销售数据,这很棒。
我有多种类型:typeA,typeB,typeC,typeD,typeE。
我想要的是创建两个计算成员,这些成员具有由typeA为每个客户聚合的值,然后是所有其他类型。
目前我所拥有的是
Case
When IsEmpty( [Measures].[FactSales] ) or [Customer].[CustomerType].currentmember <> [Customer].[CustomerType].&[typeA]
Then null
ELSE ([Customer].[CustomerType].&[typeA], [Measures].[FactSales] )
END
但我认为这是错误的,我也不能使用同样的方法来获取除typeA之外的所有其他类型的值。当我把它推到更高的水平时,我也没有得到聚合。
有人可以帮忙吗?我可能没有充分解释自己,所以如果您需要更多信息,请告诉我。
答案 0 :(得分:1)
为什么你要这样做?存储与单个事实无关的任何计算并不好,事实上表格行中的数据应仅对应于一个系统事实(订单,作业等),并且通过聚合,您将能够基于任何维度获取数据。 您当前的结构很好,您可以通过将多维数据集切割为客户类型维度来轻松进行计算。