|
Помогите с запросом. Определить наиболее продаваемые товары в день | ☑ | ||
---|---|---|---|---|
0
AntonyFO
21.10.15
✎
13:02
|
Добрый день! Есть задача определить наиболее продаваемые товары в день. Получил таблицу с количеством продаж, поместил во временную:
"ВЫБРАТЬ | ПродажиОбороты.Период КАК Период, | ПродажиОбороты.Номенклатура КАК Номенклатура, | СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот |ПОМЕСТИТЬ | Продажи |ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНачала, &ДатаОкончания, День, ) КАК ПродажиОбороты | |СГРУППИРОВАТЬ ПО | ПродажиОбороты.Период, | ПродажиОбороты.Номенклатура"; |
|||
1
AntonyFO
21.10.15
✎
13:03
|
Не могу сообразить как теперь выбрать товары с наибольшим количеством по дням. Подскажите пожалуйста...
|
|||
2
Волшебник
модератор
21.10.15
✎
13:03
|
СУММА и СГРУППИРОВАТЬ ПО не нужны
|
|||
3
AntonyFO
21.10.15
✎
13:04
|
Или вообще не так начал?
|
|||
4
AntonyFO
21.10.15
✎
13:05
|
(2) ага, возможно, щас подумаю
|
|||
5
Nuobu
21.10.15
✎
13:08
|
(1) упорядочить По КоличествоОборот УБЫВ
|
|||
6
AntonyFO
21.10.15
✎
13:11
|
(5) не, не, в итоге должна получиться таблица из трёх полей: "период", "номенклатура" и "количество" (наибольшее, если например, две и более номенклатуры, то все их вывести)
|
|||
7
AntonyFO
21.10.15
✎
13:29
|
Нда, намудрил, всё проще, надо так:
"ВЫБРАТЬ |ПродажиОбороты.Период КАК Период, |ПродажиОбороты.Номенклатура КАК Номенклатура, |ПродажиОбороты.КоличествоОборот КАК КоличествоОборот |ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНачала, &ДатаОкончания, День, ) КАК ПродажиОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь | ПО ПродажиОбороты.Период = РегламентированныйПроизводственныйКалендарь.ДатаКалендаря |ГДЕ | РегламентированныйПроизводственныйКалендарь.ВидДня = &Рабочий | И ПродажиОбороты.КоличествоОборот > 0 |ИТОГИ | МАКСИМУМ(КоличествоОборот)"; |ПО | Период ПЕРИОДАМИ(ДЕНЬ, &ДатаНачала, &ДатаОкончания) Потом в выборке просто ориентироваться на итог по дню.. |
|||
8
BuHu
21.10.15
✎
13:36
|
(7) хорошо бы еще учитывать количество времени которое товар был на остатке . т.е. какой то товар мог бы продаваться гораздо лучше , но большую часть времени его не было в наличии .
|
|||
9
Михаил Козлов
21.10.15
✎
13:58
|
(7) Чем штатный отчет по продажам не подходит (с сортировкой по КоличествоОборот)?
|
|||
10
rabbidX
21.10.15
✎
14:28
|
Обычно пишут так:
ВЫБРАТЬ ПродажиОбороты.Период, ПродажиОбороты.Номенклатура, ПродажиОбороты.КоличествоОборот ПОМЕСТИТЬ Продажи ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНачала, &ДатаОкончания, День, ) КАК ПродажиОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Период, МАКСИМУМ(Продажи.КоличествоОборот) КАК КоличествоОборот ПОМЕСТИТЬ МаксимальныеПродажиПоДням ИЗ Продажи КАК Продажи СГРУППИРОВАТЬ ПО Продажи.Период ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Период, Продажи.Номенклатура, Продажи.КоличествоОборот ИЗ Продажи КАК Продажи ВНУТРЕННЕЕ СОЕДИНЕНИЕ МаксимальныеПродажиПоДням КАК МаксимальныеПродажиПоДням ПО Продажи.Период = МаксимальныеПродажиПоДням.Период И Продажи.КоличествоОборот = МаксимальныеПродажиПоДням.КоличествоОборот Так без мусора получается. Отбор по рабочим дням сам прикрути. Итоговые данные из этой таблицы брать нельзя, за один день могут быть несколько товаров с максимальным количеством продаж. |
|||
11
AntonyFO
21.10.15
✎
14:39
|
(10)Спасибо большое, надо было две временных таблицы, не догнал. Да, так без экивоков получается
|
|||
12
AntonyFO
21.10.15
✎
14:43
|
собственно так получается:
ВЫБРАТЬ ПродажиОбороты.Период, ПродажиОбороты.Номенклатура, ПродажиОбороты.КоличествоОборот ПОМЕСТИТЬ Продажи ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНачала, &ДатаОкончания, День, ) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ПО ПродажиОбороты.Период = РегламентированныйПроизводственныйКалендарь.ДатаКалендаря ГДЕ РегламентированныйПроизводственныйКалендарь.ВидДня = &Рабочий ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Период, МАКСИМУМ(Продажи.КоличествоОборот) КАК КоличествоОборот ПОМЕСТИТЬ МаксимальныеПродажиПоДням ИЗ Продажи КАК Продажи СГРУППИРОВАТЬ ПО Продажи.Период ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Период КАК Период, Продажи.Номенклатура КАК Номенклатура, Продажи.КоличествоОборот ИЗ Продажи КАК Продажи ВНУТРЕННЕЕ СОЕДИНЕНИЕ МаксимальныеПродажиПоДням КАК МаксимальныеПродажиПоДням ПО Продажи.Период = МаксимальныеПродажиПоДням.Период И Продажи.КоличествоОборот = МаксимальныеПродажиПоДням.КоличествоОборот УПОРЯДОЧИТЬ ПО Период, Номенклатура |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |