Почему явная ссылка на иерархию устраняет ошибку для другой размерности

Я получаю сообщение об ошибке SSAS "Два множества, указанные в функции, имеют разную размерность".

На самом деле я использую те же измерения, ту же иерархию (неявно), в одном наборе я использую элемент «Все», в другом наборе я использую листовые элементы. Если я изменю идентификаторы членов, чтобы явно ссылаться на (единственную) иерархию, ошибка исчезнет.

Это почему?

Вот пример того, как я получаю ошибку:

{Crossjoin( [Measures].[Measure1], [Event].[Category1] ),
Crossjoin( [Measures].[Measure2], [Event].[All] )}

И вот в основном, как я избавляюсь от этого (добавляя явную ссылку на иерархию):

{Crossjoin( [Measures].[Measure1], [Event].[ByCategory].[Category1] ),
Crossjoin( [Measures].[Measure2], [Event].[ByCategory].[All] )}

Любое объяснение исправления поможет мне лучше понять синтаксис mdx в целом.

Заранее большое спасибо за вашу помощь.


person JM Hicks    schedule 19.04.2013    source источник


Ответы (2)


Я не специалист SSAS, но чтобы убедиться, что оба члена принадлежат к одной иерархии, вы можете попробовать следующее:

with
  member x as [Event].[Category1].dimension.name
  member y as [Event].[All].dimension.name
select { x , y } on 0 from [your-cube]
person Marc Polizzi    schedule 19.04.2013
comment
спасибо за предложение. запрос возвращает (x, y), (ByCategory, ByCategory). Кажется, не поднимает никакого флага. - person JM Hicks; 22.04.2013

Можете ли вы показать остальную часть вашего запроса?

Я пытался сделать что-то подобное, но это работает нормально..

select {crossjoin( [Measures].[Internet Sales Amount],
[Product].[Bikes]),
crossjoin([Measures].[Reseller Sales Amount],
[Product].[All])} on columns
from cube

результат

person daniel_aren    schedule 26.04.2013
comment
простите. Я удалил и перестроил свой куб из исправленного проекта. Сейчас вроде работает, а тогда почему-то нет. Этот ответ что-то добавляет, но у меня больше нет исходного куба, чтобы воспроизвести ошибку в ответ на ваш вопрос. - person JM Hicks; 01.05.2013