|
|
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#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. В результате: (Необходимо получить красное поле) NMPRNDR необходимо 11 100 1111 1 1 1 11 100 1111 2 1 1111002222322111002222422112003333543112003333643111004444734111004444834 11 100 1111 9 1 5 11 100 1111 10 1 51130044441156113004444125655100222213715510022221471 55 100 1111 15 6 2 55 100 1111 16 6 255300333317835530033331883 55 100 1111 19 6 4 55 100 1111 20 6 4 проблемные, для нужного ранжирования, записи выделены жирным Спасибо. P.S. Функцию lag тоже пробовала, но она берет для анализа все четыре значения 1111 в группе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 12:34 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
veterskv, Аналитика требует порядок, а rownum - анархия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 12:37 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
-2-, возможно, но отсутствие rownum не повлияет на результат dense_rank ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 12:39 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
veterskv, Есть какое-нибудь описание семантики расстановки значений в столбце "необходимо" или просто "я так хочу"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 12:45 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
Egoр, суть в том, что N - дата M - зона склада P - кладовщик P в течении дня перемещается с зоны склада на зону склада и делает там какие-то операции Необходимо из ориентировочно таких данных: N,M,P,время,действие 12.04.2017100111112:30вход в зону 100 склада12.04.2017100111115:15вЫход из зоны 100 склада12.04.2017100111116:10вход в зону 100 склада12.04.2017100111118:05вЫход из зоны 100 склада Получить такую группировку: NMPвремя входавремя выхода12.04.2017100111112:3015:1512.04.2017100111116:1018:05 или кто-то на момент выполнения запроса вошел и не вышел, тогда "время выхода" пустое ... как-то так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 12:57 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
Egoр, просто, если бы мне удалось ранжировать так как в красном поле, то смогла бы получить итоговую группировку и да... пусть поле времени будет вместо rownum, суть та же: время с секундами, отсортировано по возрастанию как rownum ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 13:05 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
veterskv, через start_of_group только вместо rownum как уже сказали нужно поле для сортировки (обычно таймстемп, да) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 13:05 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
ora601, да ))) это оно спасибо, пойду въезжать и встраивать в запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 13:14 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
Всем привет нужна помощь. Есть выборка данных: Артикул id Операция Дата операции123 120 + 17.10.2012123 120 - 12.11.2012123 120 + 17.02.2014123 120 - 02.06.2014123 120 + 26.10.2015123 120 - 27.10.2015 Мне нужно выбрать периоды нахождения артикула в матрице Например Артикул 123 был добавлен в матрицу ID 120 17.10.2012 а удален 12.11.2012, затем 12.11 добавлен и 17.02. удален и т.д. т.е. нужно получить вот такой результат: Артикул Добавление (+) удаление(-)123 17.10.2012 12.11.2012123 17.02.2014 02.06.2014123 26.10.2015 27.10.2015 Помогите плиз, только осваиваю аналитические функции. Что-то мозг закипает уже... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2017, 14:02 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
racerВсем привет нужна помощь.Не стоит из-за этого гробокопать чужие темы. Создавай свои.racerЧто-то мозг закипает уже...STFF start_of_group ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2017, 14:16 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
racer, Код: 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. ps +/- должны чередоватся ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2017, 14:51 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
перемудрил, счас испрвлюсь ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2017, 15:06 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
Staxps +/- должны чередоватся ...... stax Stax , большое спасибо. То что нужно. +/- чередуются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2017, 15:20 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
До кучи. Аналитика: 1. Если +- чередуются строго: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 2. Если существуют последовательности ++ или --: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12с (вариант также допускает ++ и --): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2017, 15:50 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
racerStaxps +/- должны чередоватся ...... stax Stax , большое спасибо. То что нужно. +/- чередуются перемудрил я с пивот проще вариант Код: 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. и не чередуются ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2017, 15:57 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous12с (вариант также допускает ++ и --): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2017, 15:57 |
|
||
|
Как реализовать не очень аналитическое ранжирование?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, отличная задачка для match_recognize если +/- не чередуются ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2017, 16:02 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39438638&tid=1885111]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 457ms |

| 0 / 0 |
