|
|
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
Всем привет Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Необходимо, чтобы: KORR = предыдущее значение lag(POT) + текущее DIV POT = получившееся KORR + DIVP POT KORR DIV DIVP REP_DATE50 100 1 1 01.01.201752+1 50+2 2 1 01.04.201756+1 53+3 3 1 01.07.201761+1 57+4 4 1 01.10.2017 что-то голова не бум бум, коллеги, есть предложения? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 18:00 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
Нарастающий итог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 18:11 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
Elic, но пока не рассчитаю KORR я не смогу посчитать POT и так далее на каждый последующий период, если рассчитать нарастающий итог, то он сразу за все периоды будет считать по столбцу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 18:18 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
mishanya3624, ? Код: plsql 1. Regards Maxim ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 19:11 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
С логикой явно что-то ни так... Мне кажется, постановку можно сделать более понятнее и прозрачнее. Тут нужно знать предметную область данных и что нужно от них... Но если данные нужно вывернуть так, то запрос делает как заказал. Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2017, 19:32 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
скучно что-то... Код: plsql 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. 43. 44. 45. 46. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 01:55 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
Ну так-то намного веселее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 07:59 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
mishanya3624, Можно так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Но как заметил Evgeny2 "С логикой явно что-то ни так... " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 12:38 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
Evgeny2, Даже можно так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 12:47 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
Всем огромное спасибо за помощь! Но есть 1 недоговорка с моей стороны, посчитали мы KORR на 01,04,2017 он = 52, так вот есть условие, если получившийся KORR < DIVP в этом периоде, который например будет равен 70, а не 1, то POT = 0 и следующий расчет KORR уже будет брать POT = 0 , а не первоначальное 50... и тут я встал в тупик, так как нарастающий итог мне не дает желаемого результата (точнее я его не умею готовить)... То есть сначала посчитали KORR сравнили его с DIVP , если KORR< DIVP , то POT в этом периоде = 0, иначе POT = KORR + DIVP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 14:10 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
Получается как бы лестница, пока не узнаю результат KORR и не сравню его, не смогу посчитать POT на этот период, а следом нужно посчитать KORR след периода, который будет брать POT предудыщий... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 14:13 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
mishanya3624Получается как бы лестница, пока не узнаю результат KORR и не сравню его, не смогу посчитать POT на этот период, а следом нужно посчитать KORR след периода, который будет брать POT предудыщий... Из моего предыдущего поста в этом топике можно взять варианты с моделькой и поиграться. При наличии фантазии возможно также запилить искомое на recursive subquery clause factoring. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 14:17 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, есть загвостка, если я делаю по 1 id, то все получается вот в такой схеме Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. но так как у меня shareholder_name много, то row_number() не подходит, так как он начинает расчет с 1 до последнего подряд, а надо по отдельным id делать отдельные расчеты с первого периода по последний... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 17:37 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
а на dense_rank() он ругается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 17:38 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
mishanya3624но так как у меня shareholder_name много, тоRTFM partition by ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 17:42 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
Elic, также ругается Код: plsql 1. 2. 3. 4. 5. 6. пробую по всякому крутить модель, никак... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 17:53 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
mishanya3624также ругаетсяРуки... Ошибка в 17-ой строке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 18:01 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
Elic, ? не понял... не, что с руками проблема, это понял:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 18:06 |
|
||
|
Расчет значения после расчета)
|
|||
|---|---|---|---|
|
#18+
добавляю в модель UNIQUE SINGLE REFERENCE убираю все правила, все отрабатывает, как только добавляю любое правило, аля Код: plsql 1. то сразу ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 18:22 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=155&tid=1885614]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
5ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 271ms |
| total: | 433ms |

| 0 / 0 |
