Объединение двух кортежей в одной иерархии в один (в многомерных выражениях С ПОМОЩЬЮ команды SET)

#mdx #olap #ssas

#многомерные выражения #olap #ssas

Вопрос:

Следующий запрос многомерных выражений возвращает меру X для 3 кортежей: 2001, 2002-1 и 2002-2. То, что я пытаюсь сделать, это объединить 2002-1 и 2002-2 в один кортеж и получить меру X для 2001 и 2002-1 amp; 2. Использование функции SUM невозможно. Потому что мера X используется на другой оси.

 with 
member v as [Measures].[X]
set w as {[Dim Date].[Calendar Date].[Year].amp;[2001],
[Dim Date].[Calendar Date].[Month].amp;[1]amp;[2002],
[Dim Date].[Calendar Date].[Month].amp;[2]amp;[2002]}
select w on 0, v on 1
from [DS];
  

Ответ №1:

Вы можете добавить вычисляемые элементы в [Dim Date]:

 with 
member [Dim Date].[Calendar Date].[2002 All] as [Dim Date].[Calendar Date].[Month].amp;[1]amp;[2002]   [Dim Date].[Calendar Date].[Month].amp;[2]amp;[2002]
...
  

Вы можете использовать функции aggregate или sum, если предпочитаете этот синтаксис.