Объем продаж MDX в годовом исчислении по месяцам

StackOverflow https://stackoverflow.com/questions/2406693

  •  18-09-2019
  •  | 
  •  

Вопрос

Я застрял на многомерном запросе, я пытаюсь получить следующие результаты:

                          [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] 

Спасибо

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top