2014-07-07 71 views
0

我有以下幾個層次的維度的時間層次月:集團通過使用MDX

我想無論年份如何,都可以按月收集一些數據,例如1月份的婚禮。

如果我有:

2011年1月 - 43

2012年1月 - 30

我要的是 - 20

2013年1月:

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] 

,但我只得到了第一個月份。

回答

0

是的,這取決於你如何構建你的日曆維度。在這種情況下,你將有一個月的字符串字段,它會

...等等...請注意,月份串場,不包括一年。

此字段將在SSAS維度中進行可聚合設置。在創建MDX查詢時,您可以將月份放在行上,並在列上放置婚禮。使用這種方法你應該得到你想要的結果。

這樣算下來下面應該讓你的所有月份的銷量:

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

用[時間] [月] [月]我訪問的第一個月份。如果我在[Time]中使用Sum函數[2011]。[Jan],[Time]。[2012]。[Jan],[Time]。[2013]。[Jan]我可以得到正確的結果,但如果我有2014年的新數據,我不得不修改查詢。沒有指定年份可以得到這個嗎?類似[時間]。[年],[1月]或[時間]。[所有年份]。[1月]? – vjsp

+0

這取決於如何在SSAS中設置維度 - 特別是關鍵列......您是使用嚮導提供的日曆,還是使用自己的日曆?似乎你想要一個自定義的...通過做一個自定義的,你可以通過非正規化的月份字符串值,在這種情況下是「1月」... – Mez

+0

真的,我使用Pentaho。我創造了我自己的時間維度。 – vjsp