|
|
|
Хитрый расчет суммы за прошлый период.
|
|||
|---|---|---|---|
|
#18+
Коллеги, вопрос. Нужно рассчитать оборот за аналогичный месяц в прошлом году, что сделано во второй части 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. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 09:58 |
|
||
|
Хитрый расчет суммы за прошлый период.
|
|||
|---|---|---|---|
|
#18+
Тормозит эта часть запроса. sum(MTD( PARALLELPERIOD([Календарь].[Календарь рабочих дней].[Месяц],12, Ancestor( StrToMember('[Календарь].[Календарь рабочих дней].[Дата].&['+vba!format( date(), "yyyy-MM-dd" )+'T00:00:00]'),1)) ), [Measures].[Оборот]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 10:07 |
|
||
|
Хитрый расчет суммы за прошлый период.
|
|||
|---|---|---|---|
|
#18+
ondorsal, пример на велозаводе Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. но есть замечания, я не знаю как у Вас устроен Календарь рабочих дней, и если в нем только рабочие дни, то вряд-ли будет работать. в примере заменил вместо 'yyyy' на '2010' - у меня в велозаводе таких дат. и функцию date() 2012 не видит, только now(), но не принципиально. в Вашей формуле параллельный период не учитывает, что текущий месяц короче, я же в своем примере наоборот обрезал все месяцы до аналогичного тек дня. строковые представления наборов дат только для визуализации процесса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 14:18 |
|
||
|
|

start [/forum/topic.php?fid=49&tid=1857629]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 255ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...