|
|
|
Выгрузить даты по заданным условиям
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть задача выгрузить даты Код: sql 1. по следующим условиям: 1. Начало дата текущего года: Берем вчерашний день. От этого дня определяем дату как первое число соответствующего месяца и года. 2. Окончание дата текущего года: Берем вчерашний день. От этого дня определяем дату. 3. Начало дата предыдущего года: Берем вчерашний день. От этого дня определяем дату как первое число соответствующего месяца и года. Далее минусуем год. Прибавляем один день. 4. Окончание дата предыдущего года: Берем вчерашний день. От этого дня определяем дату. Далее минусуем год. Прибавляем один день. В итоге, должно получится так Если сейчас 31.05.2019, то для текущего года: 1.05.2019-30.05.2019, а для предыдущего: 2.05.2018-31.05.2018 Если сейчас 1.06.2019, то для текущего года: 1.05.2019-31.05.2019, а для предыдущего: 2.05.2018-1.06.2018 Если сейчас 2.06.2019, то для текущего года: 1.06.2019-01.06.2019, а для предыдущего: 2.06.2018-2.06.2018 Написал такой MDX-запрос. MDX-запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Вместо этого Код: sql 1. 2. 3. 4. 5. 6. 7. 8. написал так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Мне кажется запрос написал не оптимально и слишком сложно. Скажите, как можно проще написать и чтоб корректно учитывался третий пункт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 12:32 |
|
||
|
Выгрузить даты по заданным условиям
|
|||
|---|---|---|---|
|
#18+
ferzmikkИз условии берем третий пункт. 3. Начало дата предыдущего года: Берем вчерашний день. От этого дня определяем дату как первое число соответствующего месяца и года. Далее минусуем год. Прибавляем один день. То есть надо определить текущий день, отнять один день, определили как первое число, минус год, прибавить 1 день.В общем, Вариант 1 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Вариант 2 Код: 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. 31. 32. 33. 34. 35. 36. 37. Вначале получил первый вариант. При разработке второго варианта без использования двойного StrToMember (как в пером варианте) и с использованием больше VBA - получился довольно сложный. Возможно ли как то сделать по другому, но попроще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2019, 23:21 |
|
||
|
|

start [/forum/topic.php?fid=49&fpage=15&tid=1857581]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 372ms |

| 0 / 0 |

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