Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
Помогите, плиз поправить запрос ;with cte as ( Select *,datePart(WEEKDAY,Dt) as WeekDay, PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY SaleCount) Over (partition by CustomerType,[CustomerName],ItemRelation, DocumentNum, DocumentYear) as PERCENTILE, avg(SaleCount) over (Partition by CustomerType, [CustomerName], ItemRelation, DocumentNum, DocumentYear,datePart(WEEKDAY,Dt), IsPromo) as AVG_WeekDay From promo_data_copy) Update a Set SaleCount = cte.AVG_WeekDay From CTE join promo_data_copy a on a.Dt = cte.dt and a.ItemRelation=cte.ItemRelation and a.CustomerName=cte.CustomerName and a.DocumentNum = cte.DocumentNum and a.DocumentYear = cte.DocumentYear and a.CustomerType = cte.CustomerType and a.ispromo = cte.ispromo Where CTE.PERCENTILE < CTE.SaleCount and datePart(WEEKDAY,CTE.Dt) < 7 and CTE.ispromo = 0 ; как вместо avg() сделать median() там такой функции нет запрос сейчас выбросы заменяет средними значениями по тому или иному дню, но лучше это делать по медиане но как в экселе там нет такой функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 19:23 |
|
||
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
так делать не помогает ;with cte as ( Select *,datePart(WEEKDAY,Dt) as WeekDay, PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY SaleCount) Over (partition by CustomerType,[CustomerName],ItemRelation, DocumentNum, DocumentYear) as PERCENTILE, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY SaleCount) over (Partition by CustomerType, [CustomerName], ItemRelation, DocumentNum, DocumentYear, datePart(WEEKDAY,Dt), IsPromo) as median From promo_data_copy2) Update a Set SaleCount = cte.median From CTE join promo_data_copy a on a.Dt = cte.dt and a.ItemRelation=cte.ItemRelation and a.CustomerName=cte.CustomerName and a.DocumentNum = cte.DocumentNum and a.DocumentYear = cte.DocumentYear and a.CustomerType = cte.CustomerType and a.ispromo = cte.ispromo Where CTE.PERCENTILE < CTE.SaleCount and datePart(WEEKDAY,CTE.Dt) < 7 and CTE.ispromo = 0 ; он не заменяет выбросы на медиану дня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 19:36 |
|
||
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
так сообразил в чем дело, заработало.:) Как удалить этот пост? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 19:44 |
|
||
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
Kontoxзаработало.:)мададца, конечно, только это: авторPERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY SaleCount) over (Partition by CustomerType, [CustomerName], ItemRelation, DocumentNum, DocumentYear, datePart(WEEKDAY,Dt), IsPromo) as median ниразу не медиана ... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 10:00 |
|
||
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
court, зависит от требований. По вашей притензии PERCENTILE_CONT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 10:18 |
|
||
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
court , интересное замечание, а как мне ваш код в свой интегрировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 12:07 |
|
||
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
Kontoxcourt , интересное замечание, а как мне ваш код в свой интегрировать?не нужно ничего интегрировать TaPaK , тут 21538540 лучше вариант предложил, - просто измените PERCENTILE_DISC на PERCENTILE_CONT и результат будет правильный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 12:10 |
|
||
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
Kontoxcourt , интересное замечание, а как мне ваш код в свой интегрировать? т.е. описание что же делает команда мы не будем... впрочем ничего нового ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 12:21 |
|
||
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
Как просил модератор, не буду плодить темы, все в одной. все подпилиываю этот код ;with cte as ( Select *,datePart(WEEKDAY,Dt) as WeekDay, PERCENTILE_cont(0.75) WITHIN GROUP (ORDER BY SaleCount) Over (partition by CustomerType,[CustomerName],ItemRelation, DocumentNum, DocumentYear) as PERCENTILE, PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY SaleCount) over (Partition by CustomerType, [CustomerName], ItemRelation, DocumentNum, DocumentYear, datePart(WEEKDAY,Dt), IsPromo) as median From promo_data_copy2) Update a Set SaleCount = cte.median From CTE join promo_data_copy2 a on a.Dt = cte.dt and a.ItemRelation=cte.ItemRelation and a.CustomerName=cte.CustomerName and a.DocumentNum = cte.DocumentNum and a.DocumentYear = cte.DocumentYear and a.CustomerType = cte.CustomerType and a.ispromo = cte.ispromo Where CTE.PERCENTILE < CTE.SaleCount and datePart(WEEKDAY,CTE.Dt) < 7 and CTE.ispromo = 0 ; его шаги * есть переменная ispromo, она принимает или 1 или 0 код должен работать с нулевой категорией 1. высчитать 75 процентиль по всем наблюдениям нулевой категории ispromo по переменной SaleCount 2. все что выше 75 процентиля код должен заменять медианой выбросы тех дней, на который он пришолся например выброс пришелся на четверг значит смотрим медиану всех четвергов и заменяем ею выбросный четверг 3. и все это код делает для групп сustomerType+[CustomerName]+ ItemRelation+DocumentNum+DocumentYear т.е. раздельно для каждой такой группы но сейчас он что-то не отрабатывает вот набор данных желтые исходные данные зеленые то что он поназакменял красные это то что по какой то причине не было заменено подскажите, почему он где-то правильно отработал, а где-то проигнорировал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 18:49 |
|
||
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
Модератор: Может, вы еще и тег src освоите наконец? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 18:53 |
|
||
|
медиана за место avg()
|
|||
|---|---|---|---|
|
#18+
iiyama, дал мне совет через этот запрос проверить Код: 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. Спасибо, разобрался:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 19:16 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39669075&tid=1689466]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 381ms |

| 0 / 0 |
