MDX如何限制维度的结构集

0
以下的MDX语句,是按照月份,各个city和city总和,来求销售额的。

--这个city是求一个所有city的总和,所以加了一个[Orgnization].[Hierarchy]
with set [city] as ([Orgnization].[Hierarchy].[city].ALLMEMBERS ) + ([Orgnization].[Hierarchy])
--这个MDX是按照月份,各个city和city总和,来求销售额的。
SELECT
NON EMPTY {[Measures].[销售额] } ON COLUMNS,
NON EMPTY {([Date].[Fiscal Month].[Fiscal Month].ALLMEMBERS*[city]) } ON ROWS
FROM [f_cube]
--结果类似这样:
大连 100
北京 300
上海 400
ALL 800

问题是现在有一个 [CurrentCity].[city]的维度表,这个里面存的是要显示的city。
比如[Orgnization].[Hierarchy].[city]里面有3个city,而[CurrentCity].[city]里面有2个city(大连和北京),
应该如果修改MDX,把这个限制写到MDX里,让这个MDX的结果里只有2个city的数据,
各个city总和的数据也是2个city的总合,而不是3个city的总合。
请大家帮忙看看,应该如何修改这个MDX呢?多谢了!
已邀请:
0

梁勇 - 天道酬勤、上善若水。爱好商业智能 2014-09-09 回答

可以考虑写个元组表示啦,定义一个元组,写一个计算成员。

with member [measures].[部分城市销售额] as
([CurrentCity].[city].&[大连],[Measures].[销售额])) + ([CurrentCity].[city].&[北京],[Measures].[销售额]))
0

redarmy3 - 一句话介绍 2014-09-10 回答

多谢梁兄,现在有个问题是city列表是动态的,不能直接在mdx里指定具体的city,只能从这个[CurrentCity].[city]维度里取得,应该如何在MDX里写join呢?

要回复问题请先登录注册