SSAS条件立方体计算成员

时间:2016-09-12 16:54:29

标签: conditional ssas cube

我是SSAS和多维数据集的新手。

我有一个简单的数据库表:

product|value|status  
-------|-----|------  
A|100|1  
B|20|0  
A|20|0  
B|80|1  

状态栏表示是计划销售还是已经关闭。

我想在立方体中有措施 计划(0)销售和关闭(1)销售。它们应该在给定状态下对每个产品的总和值进

输出多维数据集应如下所示:

product|planned sale|closed sale    
------|---------|-----------  
A|20|100  
B|20|80  

我有衡量价值和地位的方法。但是,无论我如何对函数进行切片,都会聚合状态中的布尔值。我想我的措施配置错了。我尝试将其设置为布尔值,但它似乎做“和”计算。

我试过IFF和.currentmember希望它会迭代。

我必须遗漏一些基本的东西,请帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

添加一个简单的状态维度,其中0表示计划,1表示已关闭。

它正在聚合,因为现在你正在使用它作为衡量标准。

根据您的评论编辑:

我认为您错误地认为SSAS会将​​measures.status的值解释为布尔值。 SQL没有布尔数据类型的概念。虽然bit数据类型可用于保存布尔值,但在SQL中您不能说IF [MyBitColumn] THEN ...而是必须说IF [MyBitColumn]=1 THEN ...。 SQL Server不会自动理解/假设1 = true,0 = false。

尝试使用此计算方法:

 iif([Measures].[Status]=1, [Measures].[Value],0)  //closed sale
 iif([Measures].[Status]=0, [Measures].[Value],0)  //planned sale