
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.02.2017, 17:48
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
Привет форумчане! Подобная задача была здесь: конвертер недель в месяц на SQL http://www.sql.ru/forum/1159023-1/konverter-nedel-v-mesyac-na-sql но результат ее решения не верный. Исходные данные: описание задачиНеобходимо настроить автоматическое преобразование еженедельных значений в ежемесячные. Продажи в переходных неделях (часть недели в одном месяце, часть в другом) необходимо распределить по будним дням (исключая выходные дни - сб, вск). В данном примере продажи за неделю, окончившуюся 05.03.2013, необходимо распределить следующим образом 2 дня на февраль, 3 дня на март. date_week summ 26.02.2013 312.00 05.03.2013 833.00 12.03.2013 225.00 19.03.2013 453.00 26.03.2013 774.00 02.04.2013 719.00 09.04.2013 136.00 16.04.2013 133.00 23.04.2013 157.00 30.04.2013 850.00 07.05.2013 940.00 14.05.2013 933.00 21.05.2013 422.00 28.05.2013 952.00 04.06.2013 136.00 11.06.2013 701.00 TOTAL: 8 676.00 RESULT: данный результат не является правильным!!! DATE_MONTH total_summ28.02.2013 550.0031.03.2013 2 560.5730.04.2013 1 481.4331.05.2013 3 305.2930.06.2013 778.7131.07.2013 0.00 TOTAL: 8 676,00 Пример: правильный результат за 28.02.2013 = 645,2 Вопрос: как его получить? Код с тестовыми данными: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2017, 17:50
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
добавлю: утверждение: НЕ ВЕРНО! jirniy_vitСитуация в том что 26 02 2013(это дата конца недели) продажи на сумму 312 а продажи на конец недели 5 03 2013 - 833 но если мы посмотрим в таблицу результатов то увидим другую сумму а именно 550 это все продажи за февраль а получилось это вот как 05 03 2013 это воскресенье а понедельник и вторник это 27 и 28 февраля значит 833 \ 7 = 119 26 02 2013 - 312 + (119* 2 ) = 550 итого за февраль значит к результату за 26 прибавленны продажи за часть недели относящейся к прошлому месяцу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2017, 17:53
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
ORAMITкак его получить?Самый простой способ: развернуть неделю в дни, а затем свернуть в месяцы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2017, 18:05
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
Elic, а как получить зв 28.02.2013 = 645,2 ? можно просто формулой без sql. Есть решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2017, 18:11
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
ORAMITможно просто формулой без sql.sum(summ/5) group by month ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2017, 18:16
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
ElicORAMITможно просто формулой без sql.sum(summ/5) group by month я предполагал расчет для февраля 28.02.2013 используя цифры - 26.02.2013 312.00 итд. как в неправильном примере: автор05 03 2013 это воскресенье а понедельник и вторник это 27 и 28 февраля значит 833 \ 7 = 119 26 02 2013 - 312 + (119* 2 ) = 550 итого за февраль можете показать ход вычисления? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2017, 18:36
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
ORAMITможете показать ход вычисления?Ты не понимаешь разницы между "делить на семь" и "делить на пять" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2017, 21:13
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
ElicORAMITможете показать ход вычисления?Ты не понимаешь разницы между "делить на семь" и "делить на пять" Исходя из смысла деления целых чисел, мы можем сказать, что если произведение двух целых чисел a и b равно c, то частное от деления c на a равно b, и частное от деления c на b равно a. Приведем пример. Допустим нам известно, что произведение двух целых чисел 5 и −7 равно −35, тогда мы можем сказать, что частное (−35):5 равно −7, а частное (−35):(−7) равно 5. P.S. Вы не знаете официального формального обращения? авторОфициально формальное обращение в современном русском языке производится с употреблением местоимения второго лица множественного числа «вы», обращённого к одному респонденту. В письменной речи местоимение «вы», адресованное конкретному собеседнику, в определённых случаях пишется с заглавной буквы. Я Вас очень прошу, если Вас не затруднит, больше не писать в темах, которыя создаются мною. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2017, 21:35
|
|||
|---|---|---|---|
|
|||
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
ORAMIT, да кто вас, кретинов обидчивых, сортировать-то будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2017, 07:49
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
ORAMITЯ Вас очень прошу, если Вас не затруднит, больше не писать в темах, которыя создаются мною.Слишком большая честь для нас. Специально для особо тупых демонстрирую, что после разложения недель в рабочие дни для февраля получается: Код: plsql 1. Ты же сам попросил ORAMITможно просто формулой без sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2017, 09:04
|
|||
|---|---|---|---|
|
|||
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
Вот с разверткой по дням with tab_1 as ( select date_week - num_d end_dat , num_d , date_week , summ/5 day_sum from week_to_month m1 , (select rownum -1 num_d from dual connect by level < 8) w1 order by date_week, num_d ) select last_day(end_dat) month_d , sum(case when to_char(end_dat, 'D') in (1, 2, 3, 4, 5) then day_sum else 0 end) month_s from tab_1 group by last_day(end_dat) order by 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2017, 09:17
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
Plohoyto_char(end_dat, 'D') inNLS-говнокод. Plohoylevel < 8Незачем генерировать выходные, чтобы потом с ними же неумело сражаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2017, 15:18
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
ORAMITПривет форумчане! Подобная задача была здесь: конвертер недель в месяц на SQL http://www.sql.ru/forum/1159023-1/konverter-nedel-v-mesyac-na-sql но результат ее решения не верный. Исходные данные: описание задачиНеобходимо настроить автоматическое преобразование еженедельных значений в ежемесячные. Продажи в переходных неделях (часть недели в одном месяце, часть в другом) необходимо распределить по будним дням (исключая выходные дни - сб, вск). В данном примере продажи за неделю, окончившуюся 05.03.2013, необходимо распределить следующим образом 2 дня на февраль, 3 дня на март. оригинальная задача по приведенной ссылкеНеобходимо настроить автоматическое преобразование еженедельных значений в ежемесячные. Продажи в переходных неделях (часть недели в одном месяце, часть в другом) необходимо распределить по календарным дням. В данном примере продажи за неделю, окончившуюся 05.03.2013, необходимо распределить следующим образом 2 дня на февраль, 5 дней на март. Ну да, ну да.. Неверное решение неверной задачи. Сударь, у вас собеседование или пересдача? Уже вторая тема, где вы просите за вас решить задачу из серии "спросили на собеседовании". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2017, 15:55
|
|||
|---|---|---|---|
|
|||
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2017, 16:01
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2017, 16:09
|
|||
|---|---|---|---|
|
|||
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
envORAMITПривет форумчане! Подобная задача была здесь: пропущено... но результат ее решения не верный. Исходные данные: пропущено... оригинальная задача по приведенной ссылкеНеобходимо настроить автоматическое преобразование еженедельных значений в ежемесячные. Продажи в переходных неделях (часть недели в одном месяце, часть в другом) необходимо распределить по календарным дням. В данном примере продажи за неделю, окончившуюся 05.03.2013, необходимо распределить следующим образом 2 дня на февраль, 5 дней на март. Ну да, ну да.. Неверное решение неверной задачи. Сударь, у вас собеседование или пересдача? Уже вторая тема, где вы просите за вас решить задачу из серии "спросили на собеседовании". ой Вы уже и тут. устроили охоту на ведьм? ну раз у Вас так пригорает. покажу другую точку зрения. Вы сударь не из тех ли будете, кто открывает вакансии и ворует чужие тестовые задачи? у вас горит, потомучто придется выдумывать новую задачку... ну так что бы Вам подобным было не повадно, краденные задачи и публикуются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2017, 16:16
|
|||
|---|---|---|---|
Задача: преобразование еженедельных значений в ежемесячные на Oracle SQL. |
|||
|
#18+
Гы-ГЫ.., Широкая у вас лопата сударь. И вентилятор неплохо раскручиваете. Удивительно, что такая щедрая натура до сих пор не выложила собственный вариант решения. Как и ТС. з.ы. или это одно лицо.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&tablet=1&tid=1886516]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 482ms |

| 0 / 0 |
