我刚刚开始学习MDX,我想做一个这样的查询: 按成本过滤数据(我已经进行了查询但没有总和),如下所示:
SELECT [Measures].[SumOfSelled] ON 0,
FILTER ([From].[From].[City].members, [Measures].[SumOfSelled]>7000) ON 1
FROM [BI-Avia]
它正在运作
没关系 但!!! 我还需要在城市
的过滤结果下显示过滤元素的总和我知道如何单独找到它:
with member [Measures].FilteredSum as
sum(filter([From].From].City].members,Measures].SunOfSelled]>7000),Measures].[SumOfSelled])
select{SumOfSelled} on 0
from [BI-AVIA]
但我必须一起展示!!过滤下的SUM!二合一!我需要你的帮助!我觉得你很清楚!!!
答案 0 :(得分:0)
只需在[From].[From]
层次结构上定义计算成员,然后使用集合的并集(在MDX中缩写为+
)组合两个查询:
with member [From].[From].FilteredSum as
sum(filter([From].[From].City].members, Measures].SumOfSelled]>7000))
SELECT [Measures].[SumOfSelled]
ON 0,
FILTER ([From].[From].[City].members, [Measures].[SumOfSelled]>7000)
+
{ [From].[From].FilteredSum }
ON 1
FROM [BI-Avia]
您可以将过滤器定义为WITH子句中的一个集合,这样可以避免Analysis Services对其进行两次计算。