|
|
|
Выгрузить данные
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть задача выгрузить ТТ, у которых в заданных месяцах отгрузки больше нуля. Написал такой MDX-запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Выдает нужный результат Отгрузки сумма без НДСОтгрузки сумма без НДСОтгрузки сумма без НДСОтгрузки сумма без НДСЯнварь 2017Февраль 2017Март 2017Апрель 2017ТТ1100110120170ТТ290100120130ТТ380110125130ТТ460110135120............... HAVING получился длинным, но если придется задавать не 4 месяца, а 12 или 24 месяца, то запись удлиняется. Если написать так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. то пишет ошибку "Функция GreaterThan ожидает для аргумента 1 строчное или числовое выражение. Было использовано выражение набора кортежей." Как правильно написать запрос, чтобы запись была укороченная? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2017, 16:35 |
|
||
|
Выгрузить данные
|
|||
|---|---|---|---|
|
#18+
ferzmikk, даже если предположить, что второй запрос правильный, то результаты выполнения первого и второго будут разные. в первом "покажи отгрузки по ТТ с янв 2017 по апр 2017 у которых были отгрузки в каждом месяце с янв 2016 по апр 2016" второй немного получается попроще: "покажи отгрузки по ТТ с янв 2017 по апр 2017 у которых были отгрузки в каждом указанном месяце" существуют факты отгрузки <=0? почему именно having? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2017, 23:56 |
|
||
|
Выгрузить данные
|
|||
|---|---|---|---|
|
#18+
ShIgorсуществуют факты отгрузки <=0?Да. Нулевые отгрузки, если были возвраты в том же периоде. Отрицательные отгрузки, если были корректировки. почему именно having?А что можно еще кроме Having? FILTER? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 14:00 |
|
||
|
Выгрузить данные
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ShIgorдаже если предположить, что второй запрос правильный, то результаты выполнения первого и второго будут разные. в первом "покажи отгрузки по ТТ с янв 2017 по апр 2017 у которых были отгрузки в каждом месяце с янв 2016 по апр 2016"Вот даже когда делаешь большие записи можно сделать ошибку как описано выше, чтобы этого избежать нужно оптимизировать запрос. ShIgorдаже если предположить, что второй запрос правильныйвыдает ошибку "Функция GreaterThan ожидает для аргумента 1 строчное или числовое выражение. Было использовано выражение набора кортежей." Или надо было как то по другому написать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 21:29 |
|
||
|
Выгрузить данные
|
|||
|---|---|---|---|
|
#18+
Если Месяц из колонок перенести в строки Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ТТМесяцОтгрузки сумма без НДСТТ1Январь 2017110ТТ1Февраль 2017111ТТ1Март 2017120ТТ1Апрель 2017180ТТ2Январь 2017130ТТ2Февраль 2017140ТТ2Март 2017150ТТ3Январь 201780ТТ3Февраль 201785ТТ3Март 201790ТТ3Апрель 2017101ТТ4Январь 2017200ТТ4Февраль 20170ТТ4Март 2017202ТТ4Апрель 2017203......... Зачеркнутые строки не должны выгружаться. Если так написать Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ТТМесяцОтгрузки сумма без НДСТТ1Январь 2017110ТТ1Февраль 2017111ТТ1Март 2017120ТТ1Апрель 2017180ТТ3Январь 201780ТТ3Февраль 201785ТТ3Март 201790ТТ3Апрель 2017101......... Как по короче можно написать? В анализируемом периоде 36 месяцев, а если по неделям, то это очень длинная запись добавиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 21:32 |
|
||
|
|

start [/forum/topic.php?fid=49&fpage=32&tid=1858256]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 442ms |

| 0 / 0 |

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