|
Вопрос по диаграмме (сравнение двух периодов) | ☑ | ||
---|---|---|---|---|
0
Gsof
02.02.22
✎
15:00
|
Добрый день, подскажите форумчане пожалуйста.
Делаю простой запрос который должен по дням сравнить продажи контрагента декабря 2021 и января 2022 , в прилучившейся таблице в консольке все ОК, есть все числа. Далее делаю в отчет на СКД диаграмму, в качестве точек указываю “ПериодДень” в сериях “АналитикаУчетаПоПартнерамПартнер” в выбранных поляк “КолДек” и “КолЯнв”, все хорошо на диаграмме показывается только те число по которым были продажи как в декабре так и в январе(то есть нет первого числа так как в январе не было продаж в этот день, но они были в декабре и в диаграмме они нужны), а как сделать так чтобы выводились все числа? ВЫБРАТЬ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер КАК АналитикаУчетаПоПартнерамПартнер, ДЕНЬ(ВыручкаИСебестоимостьПродажОбороты.Период) КАК ПериодДень, СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот) КАК КолДекабрь, СУММА(0) КАК КолЯнварь ПОМЕСТИТЬ таб ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&Нач1, &Нач2, День, ) КАК ВыручкаИСебестоимостьПродажОбороты СГРУППИРОВАТЬ ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер, ДЕНЬ(ВыручкаИСебестоимостьПродажОбороты.Период) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер, ДЕНЬ(ВыручкаИСебестоимостьПродажОбороты.Период), 0, ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&Нач3, &Нач4, День, ) КАК ВыручкаИСебестоимостьПродажОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ таб.АналитикаУчетаПоПартнерамПартнер КАК АналитикаУчетаПоПартнерамПартнер, таб.ПериодДень КАК ПериодДень, СУММА(таб.КолДекабрь) КАК КолДекабрь, СУММА(таб.КолЯнварь) КАК КолЯнварь ИЗ таб КАК таб СГРУППИРОВАТЬ ПО таб.АналитикаУчетаПоПартнерамПартнер, таб.ПериодДень |
|||
1
Gsof
02.02.22
✎
15:12
|
Когда вывел результат в виде таблицы СКД тоже ни все даты вышли, возникает вопрос как в СКД сгруппировать так чтобы все даты выходили
|
|||
2
DrShad
02.02.22
✎
15:17
|
в данном варианте запроса никак СКД не поможет
нужно формировать таблицу дат и с ней соединять |
|||
3
Gsof
02.02.22
✎
15:37
|
(2) не совсем понял как надо, но сделал вот так, колонка в таблицы первое число появился, но по всем контрагентам по нулям , не могу понять чем проблема
запрос вот ВЫБРАТЬ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер КАК АналитикаУчетаПоПартнерамПартнер, НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, ДЕНЬ) КАК ПериодДень, ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот КАК КолДекабрь, 0 КАК КолЯнварь ПОМЕСТИТЬ ТабПродаж ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&Нач1, &Нач2, День, ) КАК ВыручкаИСебестоимостьПродажОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер, НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, ДЕНЬ), 0, ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&Нач3, &Нач4, День, ) КАК ВыручкаИСебестоимостьПродажОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДанныеПроизводственногоКалендаря.Дата КАК Дата ПОМЕСТИТЬ ТабДат ИЗ РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря ГДЕ ДанныеПроизводственногоКалендаря.Дата >= &НачДекабря И ДанныеПроизводственногоКалендаря.Дата <= &КонЯнв ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабДат.Дата КАК Дата, ТабПродаж.АналитикаУчетаПоПартнерамПартнер КАК АналитикаУчетаПоПартнерамПартнер, ТабПродаж.КолДекабрь КАК КолДекабрь, ТабПродаж.КолЯнварь КАК КолЯнварь, ТабПродаж.ПериодДень КАК ПериодДень ИЗ ТабДат КАК ТабДат ЛЕВОЕ СОЕДИНЕНИЕ ТабПродаж КАК ТабПродаж ПО ТабДат.Дата = ТабПродаж.ПериодДень |
|||
4
Gsof
02.02.22
✎
15:41
|
может у кого есть подобный пример работающий, скиньте на него ссылку плиз
|
|||
5
Ivan_495
02.02.22
✎
15:46
|
в (3) содинение д.б правое
|
|||
6
Gsof
02.02.22
✎
15:59
|
(5) ты про какое самое нижнее? то пробовал и правое "Правое СОЕДИНЕНИЕ ТабПродаж КАК ТабПродаж" не помогает, более того при правом колонки первого числа вообще нет
упрости запрос ВЫБРАТЬ НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, ДЕНЬ) КАК ПериодДень, ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот КАК КолДекабрь, 0 КАК КолЯнварь ПОМЕСТИТЬ ТабПродаж ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&Нач1, &Нач2, День, ) КАК ВыручкаИСебестоимостьПродажОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, ДЕНЬ), 0, ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&Нач3, &Нач4, День, ) КАК ВыручкаИСебестоимостьПродажОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДанныеПроизводственногоКалендаря.Дата КАК Дата ПОМЕСТИТЬ ТабДат ИЗ РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря ГДЕ ДанныеПроизводственногоКалендаря.Дата >= &НачДекабря И ДанныеПроизводственногоКалендаря.Дата <= &КонЯнв ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабПродаж.КолДекабрь КАК КолДекабрь, ТабПродаж.КолЯнварь КАК КолЯнварь, ДЕНЬ(ТабДат.Дата) КАК НомерДня ИЗ ТабДат КАК ТабДат Правое СОЕДИНЕНИЕ ТабПродаж КАК ТабПродаж ПО ТабДат.Дата = ТабПродаж.ПериодДень |
|||
7
Ivan_495
02.02.22
✎
16:09
|
табдат и табпродаж покажи содержимое полей с датам , по - которым связываешь
|
|||
8
Gsof
02.02.22
✎
16:15
|
(7) не помогло вот такое соединение сделал
" ТабДат КАК ТабДат Правое СОЕДИНЕНИЕ ТабПродаж КАК ТабПродаж ПО ТабДат.Дата = ТабПродаж.ПериодДень " выдает вот что Номер дня Итого Кол декабрь Кол январь 6 90 10 5 546 а с левым выдавало вот что Номер дня Итого Кол декабрь Кол январь 1 2 3 4 5 6 90 7 8 9 10 5 546 и так далее |
|||
9
Gsof
02.02.22
✎
16:16
|
хотя первого число(первого декабря ) продажи есть
|
|||
10
Ivan_495
02.02.22
✎
16:31
|
второе верно работает, а с 1 декабря что- то не так, может год другой))
|
|||
11
Gsof
02.02.22
✎
16:35
|
(10) вот результата запросе по первом числу в консоли запросов
КолДекабрь КолЯнварь НомерДня 743 1 |
|||
12
Ivan_495
02.02.22
✎
16:37
|
оставь в объединении только январь
|
|||
13
Ivan_495
02.02.22
✎
16:37
|
только декабрь
|
|||
14
Ivan_495
02.02.22
✎
16:38
|
все верно надо еще по номеру месяца вязать , если полную дату не используешь
|
|||
15
Gsof
02.02.22
✎
16:39
|
(10) да ты был прав косяк в датах, спасибо за помощь , но работает корректно все таки с левым соединением , может кому поможет привожу работающий запрос
///////////////////////////////////////////// ВЫБРАТЬ НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, ДЕНЬ) КАК ПериодДень, ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот КАК КолДекабрь, 0 КАК КолЯнварь ПОМЕСТИТЬ ТабПродаж ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&Нач1, &Нач2, День, ) КАК ВыручкаИСебестоимостьПродажОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, ДЕНЬ), 0, ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&Нач3, &Нач4, День, ) КАК ВыручкаИСебестоимостьПродажОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДанныеПроизводственногоКалендаря.Дата КАК Дата ПОМЕСТИТЬ ТабДат ИЗ РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря ГДЕ ДанныеПроизводственногоКалендаря.Дата >= &НачДекабря И ДанныеПроизводственногоКалендаря.Дата <= &КонЯнв ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабПродаж.КолДекабрь КАК КолДекабрь, Выразить(ТабПродаж.КолЯнварь КАК Число) КАК КолЯнварь, ТабДат.Дата КАК НомерДня ПОМЕСТИТЬ Т1 ИЗ ТабДат КАК ТабДат Левое СОЕДИНЕНИЕ ТабПродаж КАК ТабПродаж ПО ТабДат.Дата = ТабПродаж.ПериодДень ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СУММА(Т1.КолДекабрь) КАК КолДекабрь, СУММА(Т1.КолЯнварь) КАК КолЯнварь, ДЕНЬ(Т1.НомерДня) КАК НомерДня ИЗ Т1 КАК Т1 СГРУППИРОВАТЬ ПО ДЕНЬ(Т1.НомерДня) |
|||
16
DrShad
02.02.22
✎
16:40
|
вот не нужно было его сюда выкладывать
|
|||
17
DrShad
02.02.22
✎
16:40
|
не нужно тебе объединение
в запросе просто кроме дня еще и месяц нужно было выбрать и все |
|||
18
DrShad
02.02.22
✎
16:41
|
и не пришлось бы делать разные поля колдек и колянв
|
|||
19
DrShad
02.02.22
✎
16:45
|
и для СКД не нужна группировка - она лишняя
|
|||
20
Gsof
02.02.22
✎
16:50
|
(19) ок, спасибо учту на будущее
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |