Коллеги, вопрос.
Нужно рассчитать оборот за аналогичный месяц в прошлом году, что сделано во второй части IIF и работает быстро.
Но, если сравнивать текущий месяц, который еще не закончился - мы должны за прошлый период считать оборот по числу рабочих дней, прошедших в текущем месяце (чтобы обороты были сравнимы). Это сделано в первой части IIF, но работает медленно.
Мера [Текущий месяц] показывает является ли данный месяц текущим.
Запрос:
[Measures].[Оборот прошлый период]
iif([Текущий месяц],sum(MTD( PARALLELPERIOD([Календарь].[Календарь рабочих дней].[Месяц],12,
Ancestor( StrToMember('[Календарь].[Календарь рабочих дней].[Дата].&['+vba!format( date(), "yyyy-MM-dd" )+'T00:00:00]'),1)) ),
[Measures].[Оборот]),sum(MTD( [Календарь].[Календарь].currentMember.lag(12)),[Measures].[Оборот]))
Тормозит вторая часть запроса, как можно её оптимизировать? SSAS 2014 Dev.
Спасибо.
Нужно рассчитать оборот за аналогичный месяц в прошлом году, что сделано во второй части IIF и работает быстро.
Но, если сравнивать текущий месяц, который еще не закончился - мы должны за прошлый период считать оборот по числу рабочих дней, прошедших в текущем месяце (чтобы обороты были сравнимы). Это сделано в первой части IIF, но работает медленно.
Мера [Текущий месяц] показывает является ли данный месяц текущим.
Запрос:
[Measures].[Оборот прошлый период]
iif([Текущий месяц],sum(MTD( PARALLELPERIOD([Календарь].[Календарь рабочих дней].[Месяц],12,
Ancestor( StrToMember('[Календарь].[Календарь рабочих дней].[Дата].&['+vba!format( date(), "yyyy-MM-dd" )+'T00:00:00]'),1)) ),
[Measures].[Оборот]),sum(MTD( [Календарь].[Календарь].currentMember.lag(12)),[Measures].[Оборот]))
Тормозит вторая часть запроса, как можно её оптимизировать? SSAS 2014 Dev.
Спасибо.