Объем продаж 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.
Заранее спасибо
Решение
ВЫБЕРИТЕ {[Время].[2009], [Время].[2010]} НА 0, [Время].[Месяцы].Участники НА 1 ИЗ [Название вашего куба], ГДЕ [Измерения].[Продажи]
Я основал это на этом запросе (ниже), который я протестировал на примере Adventure Works cube от Miscrosoft:
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]
Обновить:
Основываясь на вашем запросе, я не уверен, почему он работает без указания иерархии в вашем запросе куба (например, [Time].[2010] вместо [Time].[Имя иерархии].[2010]) но не могли бы вы попробовать это:
SELECT EXISTS([Time].Members, {[Time].[2009], [Time].[2010]}) ON COLUMNS,
[Time].[Months].Members ON ROWS
FROM [SalesProductIndicator] WHERE [Measures].[Sales]
Спасибо