2014-02-05 6 views
1

Я пытаюсь объединить несколько членов из одной иерархии, хотя это приводит к следующей ошибке:MDX объединения иерархии

Query (11, 3) The Jr-Kw-Mnd-Dag hierarchy is used more than once in the Crossjoin function. 

Это основная версия запроса Я использую:

SELECT 
    NON EMPTY { 
     [Measures].[Amount] 
    } ON COLUMNS 
    , NON EMPTY { 
     [Realisatiedatum].[Jr-Kw-Mnd-Dag].[Jaar] 
     * [Realisatiedatum].[Jr-Kw-Mnd-Dag].[Maand]) 
    } ON ROWS 

FROM 
    [Cube] 

Jaar соответствует год на английском языке, Maand соответствует месяц на английском языке. Это то, что я пытаюсь выполнить:

... 
november 2013 
december 2013 
januari 2014 
februari 2014 
... 

Последнее, но не менее, иерархия:

enter image description here

ответ

1

я обычно создать несколько иерархий в измерении Date, такие как календарь, финансы и другие, которые содержат только финансовый год, календарный год, кварталы и т. д.

Если у вас есть другая иерархия, содержащая месяц, вы можете пересечься с годом иерархии, которую вы используете в данный момент; то вы не будете использовать одну и ту же иерархию дважды в функции crossjoin.

E.g.

, NON EMPTY { 
    ([Date Dimension].[Financial].[Financial Year] 
    * [Date Dimension].[Calendar].[Month]) } 
+0

Спасибо, Дэнни, к счастью, у меня была другая Иерархия. Разве нет другого способа объединить этих членов из той же Иерархии? – Aquillo

+0

К сожалению, я не думаю, что есть Aquillo. –

1

Если вы хотите, чтобы пропустить некоторые уровни в иерархии пользователей, лучше всего, чтобы crossjoint соответствующего атрибута иерархии остальных уровней.

Ниже я использую иерархию атрибутов ([География]. [Город]. [Город], ..) вместо пользователя hierachy ([География]. [География]. [Город], ..) образуют AW куб:

SELECT 
[Measures].[Internet Sales Amount] ON 0, 
[Geography].[State-Province].[State-Province] * [Geography].[City].[City] ON 1 

FROM [Adventure Works]

Филип,

0

Эта проблема связана с попыткой вытащить несколько уровней из той же иерархии, используя перекрестное соединение и на самом деле вы не можете. Как упоминалось в других ответах, хорошая работа заключается в том, чтобы вытащить столбцы, которые вам нужны, из мест, отличных от той же иерархии. Но это работает только в том случае, если это разрешает кубический дизайн.

Ваша конкретная проблема может быть связана с инструментом, который вы используете, для разработки запроса и уровней в возвращаемой иерархии.

Например, следующий запрос, выполняемый в SQL Server Management Studio (версии до версии V12.0.2000.8), возвращает только уровень City иерархии. Но когда он выполняется из режима разработки в мастере импорта таблицы PowerPivot, он возвращает все уровни иерархии до уровня города, включая страну, провинцию и город.

select 
[Measures].[Internet Order Count] on columns, 
non empty [Customer].[Customer Geography].[City] on rows 
from [Adventure Works] 
Смежные вопросы