我是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希望它会迭代。
我必须遗漏一些基本的东西,请帮忙。谢谢。
答案 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