MDX年度销售额按月计算

时间:2010-03-09 04:34:19

标签: sql mdx mondrian

我坚持使用MDX查询,我正在尝试检索以下结果:

                          [Time].[2009]       [Time].[2010]
[Time].[Months].Members   [Measures].[Sales]  [Measures].[Sales]

所以我想比较2009年与2010年的销售额。

就图表而言,2009年和2010年将有两个系列,y轴为销售价值,x轴为月份。

我的查询如下:

SELECT {[Time].[2009], [Time].[2010]} ON COLUMNS,
[Time].[Months].Members ON ROWS
FROM [SalesProductIndicator] WHERE [Measures].[Sales]

它给了我这个错误:

Mondrian Error:Dimension '[Time]' appears in more than one independent axis.

提前致谢

1 个答案:

答案 0 :(得分:0)

SELECT {[Time]。[2009],[Time]。[2010]} ON 0,     [时间]。[月]。成员1     FROM [您的多维数据集名称] WHERE [Measures]。[Sales]

我基于此查询(下面),我已经在Miscrosoft的Adventure Works示例多维数据集上进行了测试:

SELECT {[Ship Date].[Fiscal Year].&[2002], [Ship Date].[Fiscal Year].&[2003]} ON 0,
[Ship Date].[Month of Year].Members ON 1
FROM [Adventure Works] WHERE [Measures].[Sales Amount]

更新:

基于您的查询,我不确定为什么它没有指定多维数据集查询的层次结构(如[时间]。[2010]而不是[时间]。[层次结构名称]。[2010])但是可以你试试这个:

SELECT EXISTS([Time].Members, {[Time].[2009], [Time].[2010]}) ON COLUMNS, 
[Time].[Months].Members ON ROWS 
FROM [SalesProductIndicator] WHERE [Measures].[Sales] 

由于