Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 SSAS 2012 Оптимизация Вычисления медианы  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 639
Hello world!
В MDX есть специальная функция Median.
У нее такой синтаксис: Median(set_expression , numeric_expression)
В своем кубе создал вычисление, которое рассчитывает медиану.

CREATE MEMBER CURRENTCUBE.[measures].[Median LT] 
AS Median([Закупка].[Document Key].[Document Key], [Measures].[Avg LT]);

Оно работает правильно, но очень медленно. В MDXStudio запускаю запрос
SELECT	[measures].[Median LT] ON 0,
	[Контрагент].[Counteragent Key].[Counteragent Key] ON 1
FROM	[TD Sch]
WHERE	[Дата Заказа].[Year].&[2017]

Таблица ниже, показывает его производительность
Time : 58 sec 629 ms
Calc covers : 0
Cells calculated : 20408768
Sonar subcubes : 3
NON EMPTYs : 0
Autoexists : 1
EXISTINGs : 0
SE queries : 1
Flat cache insert : 0
Cache hits : 2
Cache misses : 0
Cache inserts : 0
Cache lookups : 2
Memory Usage KB : -220

Далее прикрутил функция NONEMPTY
CREATE MEMBER CURRENTCUBE.[measures].[Median LT] 
AS Median(NONEMPTY([Закупка].[Document Key].[Document Key], [Measures].[Sum LT]), [Measures].[Sum LT])

Тот же запрос отработал уже с такой производительностью. Показатели стали лучше.
Time : 484 ms
Calc covers : 0
Cells calculated : 7488
Sonar subcubes : 668
NON EMPTYs : 666
Autoexists : 1
EXISTINGs : 0
SE queries : 666
Flat cache insert : 0
Cache hits : 668
Cache misses : 0
Cache inserts : 0
Cache lookups : 668
Memory Usage KB : 11552

А вот накидывание EXISTING на [Закупка].[Document Key].[Document Key] ничего не дало.
Median(EXISTING([Закупка].[Document Key].[Document Key]), [Measures].[Sum LT])


Предполагал, что EXISTING переведет контекст на Document-ты 2017 года. Интересно, почему это не произошло?

Подскажите, как еще ограничить набор, используемый в качестве первого аргумента у ф-ции Median?
То есть что бы он зависел от условия в WHERE?
14 июл 17, 18:29    [20645755]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012 Оптимизация Вычисления медианы  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 1953
Yagrus2,

В документации все это описано очень хорошо, читайте в следующей последовательности:
Key Concepts in MDX
Autoexists
Exists
Existing
и тогда все станет ясно.
14 июл 17, 19:20    [20645903]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012 Оптимизация Вычисления медианы  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 639
up
27 июл 17, 10:09    [20678778]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012 Оптимизация Вычисления медианы  [new]
Владимир Штепа
Member

Откуда: Hannover
Сообщений: 5997
Yagrus2,


EXISTING переведет контекст на Document-ты 2017 - ошибочное предположение


EXISTING используестя для отбрасываения элементов по контексту related attiributes того же измерения
29 июл 17, 22:43    [20685168]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить