使用MDX按时间层次分组

时间:2014-07-07 20:09:40

标签: mdx olap

我有以下级别的维度:

我想在几个月内获得一些数据,无论一年如何,即1月份的婚礼。

如果我有:

2011年1月 - 43

2012年1月 - 20

2013年1月 - 30

我想要的是:

1月 - 93

有可能吗?

由于

编辑:

我尝试了这个查询(有销售,没有婚礼):

WITH member [Time].[example] AS 'AGGREGATE({[Time].[Months].[Jan]})'
SELECT
NON EMPTY {Hierarchize({[Measures].[Sales]})} ON COLUMNS,
NON EMPTY {[Time].[example]} ON ROWS
FROM [SteelWheelsSales]

但我只是在1月1日。

1 个答案:

答案 0 :(得分:0)

是的,这取决于您如何构建日历维度。在这种情况下,您将有一个月份字符串字段,它将具有

  1. 一月
  2. 二月
  3. ......所以......注意月份字符串字段没有包含年份。

    此字段将在SSAS维度中设置为可聚合。在创建MDX查询时,您可以在行上放置月份,在列上放置婚礼。使用这种方法,你应该得到你想要的结果。

    因此,执行以下操作应该可以获得1月份的所有销售额:

    SELECT
    NON EMPTY {[Measures].[Sales]} ON COLUMNS,
    NON EMPTY {[Time].[Year] * [Time].[Jan]} ON ROWS
    FROM [SteelWheelsSales]