
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
12.12.2017, 16:59:32
|
|||
|---|---|---|---|
|
|||
Разноска суммы. Нарастающий итог. |
|||
|
#18+
Всем привет. Раньше вроде бы такие задачи легко решал, но ,видимо, годы дают о себе знать :) Нужно сумму разнести на строки. В строках есть как и положительное так и отрицательные суммы. Результатом должны быть строки с рассчитанным количеством для каждой строки. Рассчитанное кол-во может быть меньше исходной суммы в строке - главное чтобы общая сумма по строкам не превышало заявленной разносимой суммы. Есть еще один нюанс - в результат должны попасть только те платежи, чья сумма в периоде больше 0. Если же сумма по периоду меньше нуля - то она должна уменьшить сумму предыдущего периода или последующего (без разницы) с пересчитанным количеством в этих периодах. Желательно все это сделать красиво - одним запросом :). Код: 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. 38. 39. 40. 41. 42. Но мой вариант кривоват так как не правильно анализируется отрицательный остаток в периоде. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.12.2017, 18:06:33
|
|||
|---|---|---|---|
|
|||
Разноска суммы. Нарастающий итог. |
|||
|
#18+
Cristiano_Rivaldo, варианты расчета нарастающего итога есть в FAQ форума. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.12.2017, 18:31:41
|
|||
|---|---|---|---|
|
|||
Разноска суммы. Нарастающий итог. |
|||
|
#18+
Владислав Колосов, Эта задача не на расчет , а на использование нарастающего итога. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.12.2017, 18:58:05
|
|||
|---|---|---|---|
|
|||
Разноска суммы. Нарастающий итог. |
|||
|
#18+
Cristiano_RivaldoРезультатом должны быть строки с рассчитанным количеством для каждой строки. Рассчитанное кол-во может быть меньше исходной суммы в строке - главное чтобы общая сумма по строкам не превышало заявленной разносимой суммы. Забыл уточнить.Строки с отрицательными суммами не должны попасть в результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.12.2017, 19:11:57
|
|||
|---|---|---|---|
|
|||
Разноска суммы. Нарастающий итог. |
|||
|
#18+
Cristiano_Rivaldo, То есть Вы хотите, чтобы отрицательный остаток переносился в новый период и так далее до тех пор, пока не получите положительный остаток из суммы всех подряд идущих отрицательных остатков к последующему положительному? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.12.2017, 19:52:37
|
|||
|---|---|---|---|
|
|||
Разноска суммы. Нарастающий итог. |
|||
|
#18+
Владислав Колосов, Отрицательный остаток - это уменьшение общей суммы последующего (или предыдущего) периода, которую нужно учитывать при определении необходимого кол-ва для разнесения. Например для примера, который я приводил один из вариантов может выглядеть так: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.12.2017, 08:51:24
|
|||
|---|---|---|---|
|
|||
Разноска суммы. Нарастающий итог. |
|||
|
#18+
Up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.12.2017, 11:21:55
|
|||
|---|---|---|---|
|
|||
Разноска суммы. Нарастающий итог. |
|||
|
#18+
Cristiano_Rivaldo, непонятно почему автор4 4 -- не 5, а 4 потому что за прошлый период сумма = -1 Если сложить с предыдущим значением, получается 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.12.2017, 11:58:39
|
|||
|---|---|---|---|
|
|||
Разноска суммы. Нарастающий итог. |
|||
|
#18+
Владислав Колосов, Попробую объяснить по другому. Отрицательные стоки - это сторно. Фактически они влияют только на общую сумму по периоду.Нужно анализировать не только сумму предыдущей строки, но и сумму предыдущего периода в целом. Поэтому в примере отрицательный остаток - 1 за ноябрь "забирает" сумму = 1 у строк декабря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1690688]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
230ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 520ms |

| 0 / 0 |
