|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Добрый день ! Имеется следующая задача Есть список зарплат сотрудников в таблице. Надо в результате запроса получить еще одну колонку, в которой будет признак, в какую группу входит зарплата сотрудника относительно oбщего уровня Групп ранжирования - 3 , принадлежность определяется относительно всего диапазона 1 - если он входит в 25% от _общего_ массива сотрудников - у которых оплата меньше относительного общего уровня 3 - если он входит в 25% от _общего_ массива сотрудников - у которых оплата больше относительного общего уровня 2 - остальные 50% Подскажите пожалуйста, куда смотреть, наверняка же можно прикрутить специализированные функции какие-то Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 09:13 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Dual_Bios, Код: 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.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 09:56 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Dual_Bios, Персентили ? Код: 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. 47.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 10:10 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Stax, спасибо, но Вы же видите, третья группа пустая. А она не должна быть пустой... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 10:48 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Asmodeus, спасибо, очень похоже на правду ! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 10:50 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Dual_Bios Stax, спасибо, но Вы же видите, третья группа пустая. А она не должна быть пустой... не совсем понимаю что надо мож Вам достатньо простого cume_dist Код: 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.
зы тож одна группа Код: 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. 47. 48. 49. 50. 51. 52.
pss кто такой "относительного общего уровня "? средняя? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 11:38 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Stax pss кто такой "относительного общего уровня "? средняя? ..... 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.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 12:26 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Stax, хмм как я понимаю условие задачи, важно чтобы 25% с мин и 25% с макс выдерживали такую пропорцию, т е чтобы остальные составляли +- 50% те более-усредненные от полной выборкипопадали бы в эти 50%, края в меньше-больше те которые минимальные в группу 1, основная масса группа 2, маскимальные в 3 Кроме группы на выходе ничего не интересует ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 12:31 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Dual_Bios, я очень долго работал с такими постановками главное понять что нужно бухгалтерам если подходить формально , что по жизни не продуктивно, то Код: plsql 1.
1) что такое "относительного общего уровня"? средняя? принимаем что avg 2) которых оплата меньше/больше avg получаем три массива сотрудников 1- < avg, 2- = avg, 3- > avg, 3) >>>1 - если он входит в 25% от _общего_ массива сотрудников - у которых оплата меньше, ето четверть 1-го массива напр в первый массив (зп < средней) попало 6-человек нам надо из них (6-ти) выделить 25% работников, ето полтора человека, тут неважный нюас (как округлять), допустим берем целых людей итого, в первую группу войдет один человек Никитин (кто? явно не указано) берем с минимальной ЗП >>>3 - если он входит в 25% от _общего_ массива сотрудников - у которых оплата больше относительного общего уровня ето часть третьего массива у нас два человека (на одного уже приходится 50%), итого в 25% никто не войдет остальные во вторую группу Код: 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.
зы прихожу к менеджеру, говорю мож вам надо 1-группа -работники у которих ЗП на 25% меньше средней 3-группа -работники у которих ЗП на 25% больше средней 2- остальные -да, да, а так можно ... ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 13:19 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Dual_Bios те которые минимальные в группу 1, основная масса группа 2, маскимальные в 3 еще вариант Код: 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.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 14:32 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Stax, огромное спасибо за совет, еще раз уточнил, все же, что они хотят... Слабонервную публику просим удалиться. Задача оказалась не та, как они пытались озвучить до того Итак. Допустим у нас 200 сотрудников 0. Получаем запрос со списком с сортировкой по возрастанию з/п, при этом считаем сколько человек составляет 25% от общего числа (в нашем случае - 50) 1. Получение первой группы - идем от начала списка вниз до тех пор, пока количество отобранных не станет равным этой определенной порции (50). Все они получат группу 1 2. Получение третьей группы - аналогично, только от последнего сотрудника в выборке - вверх (по факту от 200 до 150го) им ставим 3 3. Остальные красавцы получают группу 2 Т е вопреки ранее озвученному никакое среднее в расчете не принимает участие ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 14:52 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
если не кратно 4, как вычисляется 25% (как округлять)? напр для 6, для 13? ps вариант меньше 4-х работников отбрасываем зыы мож Вам достатньо простого cume_dist .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 15:10 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Dual_Bios Допустим у нас 200 сотрудников прогоните для разного к-ва Код: 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.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 15:21 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Stax, спасибо огромное, буду смотреть, если этот вариант не пройдет, буду с cume_dist делать ! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 15:40 |
|
Ранжирование или распределение или ?
|
|||
---|---|---|---|
#18+
Dual_Bios Stax, спасибо огромное, буду смотреть, если тот вариант не пройдет, буду с cume_dist делать ! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 15:58 |
|
|
start [/forum/topic.php?fid=52&msg=40133016&tid=1879533]: |
0ms |
get settings: |
23ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
312ms |
get tp. blocked users: |
2ms |
others: | 2313ms |
total: | 2737ms |
0 / 0 |