накопление в многомерных выражениях: вычисляемый элемент для перезаписи реальной меры

#mdx

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

Вопрос:

[меры].[Количество предупреждений] — это реальная мера (на основе столбца в таблице фактов).

 CREATE  MEMBER CURRENTCUBE.[Measures].[test6] as [measures].[Alert Count];  
([Store].[Store].[Store].members*[Calendar].[Date].[Date].members ,[measures].[test6]) = 2;
  

Поскольку последнее назначение области действия перезаписывает меру test6 на 2, поэтому я ожидаю, что следующее вернет 4 для каждой ячейки test, потому что мы разделили на 2 даты, и каждый день имеет test6 как 2, затем сверните, чтобы получить 2 2 = 4. Но фактический результат не таков: test6 всегда равен [количество предупреждений].

 select {[Measures].[test6],[measures].[Alert Count]} on 0,    
[STORE].[STORE].[STORE].members on 1    
from [test]    
where {[CALENDAR].[Date].amp;[2011-05-21T00:00:00],[CALENDAR].[Date].amp;[2011-06-12T00:00:00]}
  

Ожидается следующее: test6 всегда равен 2.

 select  {[Measures].[test6],[measures].[Alert Count]} on 0,
[STORE].[STORE].[STORE].members on 1
from [test]
where {[CALENDAR].[Date].amp;[2011-05-21T00:00:00]}
  

Комментарии:

1. какой OLAP-сервер вы используете? странный синтаксис после ;

Ответ №1:

Что, если вы добавите новый элемент?

 With Member [Measures].[test7] As Sum({[CALENDAR].[Date].amp;[2011-05-21T00:00:00],[CALENDAR].[Date].amp;[2011-06-12T00:00:00]}, [Measures].[test6])
select {[Measures].[test6], [Measures].[test7],[measures].[Alert Count]} on 0,    
[STORE].[STORE].[STORE].members on 1    
from [test]    
where {[CALENDAR].[Date].amp;[2011-05-21T00:00:00],[CALENDAR].[Date].amp;[2011-06-12T00:00:00]}
  

полезно ли это?