Объединить 2 запроса MDX

У меня есть 2 запроса MDX из одного и того же куба. Оба используют одну и ту же меру, но с разными наборами времени (оба набора времени имеют одинаковое измерение, но разные иерархии).

Я хочу объединить их в одной и той же таблице результатов, чтобы она представила 2 меры (вырезанные по разным наборам) и другое измерение времени («День недели»), которое также использует то же измерение времени. Запросы можно запускать отдельно следующим образом:

   with member [Measures].[AVG_6_WEEKS] as 
     [Measures].[Number of Answered Comms] /6
    select 
    nonempty([Comm Date UTC].[Day of Week].children)
    on 0, 
    [Measures].[AVG_6_WEEKS]
    on 1 
    from (select {LASTPERIODS( 42,[Comm Date UTC].[Year Month Day].lastsibling.lastchild.lastchild.lastchild.prevmember )}
    on 0 from comms)

;
 with member [Measures].[Answered Comms] as 
 [Measures].[Number of Answered Comms] 
select 
nonempty([Comm Date UTC].[Day of Week].children)
on 0, 
[Measures].[Answered Comms]
on 1 
from (select {LASTPERIODS( 7,[Comm Date UTC].[Year Month 
Day].lastsibling.lastchild.lastchild.lastchild.prevmember )}
    on 0 from comms)

Можно ли это сделать? Я всегда получаю сообщение об ошибке, что я не могу использовать одинаковые временные иерархии в запросе... Есть идеи? Что-то вроде SQL, где я могу присоединиться к 2 представлениям?

Спасибо

Йони.


person Yoni    schedule 03.11.2014    source источник


Ответы (1)


Следующий MDX должен сделать это:

with member [Measures].[AVG_6_WEEKS] as 
     Aggregate({LASTPERIODS( 42,[Comm Date UTC].[Year Month Day].lastsibling.lastchild.lastchild.lastchild.prevmember )},
               [Measures].[Number of Answered Comms] /6
              )
     member [Measures].[Answered Comms] as 
     Aggregate({LASTPERIODS( 7,[Comm Date UTC].[Year Month Day].lastsibling.lastchild.lastchild.lastchild.prevmember )},
               [Measures].[Number of Answered Comms]
              ) 
select 
nonempty([Comm Date UTC].[Day of Week].children)
on 0, 
{ [Measures].[AVG_6_WEEKS], [Measures].[Answered Comms] }
on 1 
from comms

Я переместил контекст из подвыборок в ваших запросах в определение члена, используя функцию Aggregate.

person FrankPl    schedule 04.11.2014
comment
спасибо, Фрэнк, но использование этого скрипта приводит к ошибке в таблице результатов: агрегированные функции нельзя использовать для вычисляемых элементов в измерении показателей. - person Yoni; 06.11.2014