|
Как теоретически сделать такой запрос с плавучим интервалом | ☑ | ||
---|---|---|---|---|
0
Cerera
05.09.12
✎
09:59
|
Значит вот такой запрос:
Если за анализируемый месяц было >= трёх продаж, то Если За период с -24 месяца от начала анализируемого периода по начало периода небыло продаж то 1 ИначеЕсли за месяц было меньше трёх продаж то если за 2 месяца включая предыдущий месяц было более трёх продаж то тогда -24 месяца от предыдущего месяца и такое же условия только если за три месяца было более трех продаж то 1 иначе -24 относительно начала. тоесть получается три интервала (1 месячный, 2 месячный, 3 месячный) и три двухгодовых интервала отличающихся на один месяц. и как вот это всё теоретически реализовать запросом? это получается на каждого контрагента может быть свой интервал. как это реализовать? http://s003.radikal.ru/i202/1209/03/906f80aaf09f.jpg Вот рисунок |
|||
1
Godofsin
05.09.12
✎
10:00
|
(0) Рисунок шедевр!!! В эрмитаж!
|
|||
2
Omskdizel
05.09.12
✎
10:02
|
Что мешает сделать последовательные выборки в зависимости от результата первых запросов? А дальнейшее кодом рулится. Это как вариант. И вообще, что за экзотика таким макаром считается?
|
|||
3
Omskdizel
05.09.12
✎
10:02
|
(1) Рисунок да, доставил :)
|
|||
4
Рэйв
05.09.12
✎
10:03
|
Зачетная трава :-)
|
|||
5
Рэйв
05.09.12
✎
10:04
|
(0)Разбей на несколько последовательных запросов и анализируй.
|
|||
6
butterbean
05.09.12
✎
10:04
|
делаешь две таблицы - в одной считаешь количество продаж помесячно в отдельных полях, во второй - помесячно за -24 от крайней даты, а потом соединяешь их как надо
|
|||
7
Cerera
05.09.12
✎
10:09
|
(2)это клиенты. если не брали на протяжении двух лет но брали хотя бы 3 раза за 3 месяца то значит присвоим этому клиенту статус "Новый" и менеджеру бонус.
|
|||
8
Рэйв
05.09.12
✎
10:14
|
(7)Проверяешь продажи с (ТекДата-24) по (ТекДата - 3).
Если Продажи = 0 Тогда //Проверяешь с (ТекДата- 3 мес) по (ТекДата) Если Продажи>0 Тогда //Менеджеру бюонус. Иначе //ФигВам. КонецЕсли; Иначе //ФигВам КонецЕсли; |
|||
9
Cerera
05.09.12
✎
10:19
|
(8)но ведь это кодинг! а чисто языком запросов возможно?
|
|||
10
Рэйв
05.09.12
✎
10:20
|
(9)Анакуа?
|
|||
11
Cerera
05.09.12
✎
10:23
|
(10)Я же в СКД работаю. и хочу получить на выходе таблицу "Контрагент"-"бонус"
|
|||
12
Рэйв
05.09.12
✎
10:24
|
(11)На кой тебе именно СКД для таких простых вещей , которые на коленке делаются за 15 мин?
|
|||
13
Cerera
05.09.12
✎
10:24
|
(12)это лишь часть большого отчета по зарплате.
|
|||
14
rs_trade
05.09.12
✎
10:29
|
Получаешь таблицу со значениями всех нужных диапазонов. И дальше через кейс считаешь че хочешь
|
|||
15
ChAlex
05.09.12
✎
10:33
|
(11) - ну раз в СКД работаешь, то связь 2-х наборов с передачей параметров из первого во второй.
|
|||
16
ILM
гуру
05.09.12
✎
10:39
|
(13) очень тяжелые наркотики выдают в вашей организации, если зарплата зависит от количества контрагентов с продажами помесячно...
|
|||
17
Bober
05.09.12
✎
10:41
|
Напиши запрос сразу по трем интервалам, потом в зависимости от условий делай те или инные выводы.
|
|||
18
Рэйв
05.09.12
✎
10:44
|
(16)Они доп. начисление в виде бонуса получают за новых клиентов :-)
|
|||
19
Kashemir
05.09.12
✎
10:44
|
Что-то у вас как то все сложно. Не вижу проблемы посчитать запросм количество продаж для фиксированого набора интервалов.
|
|||
20
ILM
гуру
05.09.12
✎
10:46
|
(18) Даже если купят на 20 копеек? То дадут бонус на тысячу?
|
|||
21
Рэйв
05.09.12
✎
10:46
|
(20)Это к ТС с такими вопросами:-)
|
|||
22
Cerera
05.09.12
✎
10:55
|
(20)Если не мене трех сделок по целевым продуктам_
|
|||
23
Kashemir
05.09.12
✎
11:02
|
(22) Какая тебе детализация каждой продажи нужна? период, регистратор, контрагент, номенклатура ?
|
|||
24
Cerera
05.09.12
✎
11:05
|
(23)просто Контрагент - КоличествоПродаж и всё. остальные бонусы в других запросах.
|
|||
25
Kashemir
05.09.12
✎
11:23
|
(24) Это структура результата
|
|||
26
Cerera
05.09.12
✎
11:25
|
(25)детализация по регистратору
|
|||
27
Kashemir
05.09.12
✎
11:37
|
(26) Как-то так
ВЫБРАТЬ ТЗ.Период, ТЗ.Регистратор, ТЗ.Контрагент ПОМЕСТИТЬ Продажи ИЗ &ТЗ КАК ТЗ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗНОСТЬДАТ(&ТекущаяДата, Продажи.Период, МЕСЯЦ) + 1 КАК ГлубинаПомесячно, Продажи.Регистратор, Продажи.Контрагент, Продажи.Период ПОМЕСТИТЬ ПродажиСГлубинойПомесячно ИЗ Продажи КАК Продажи СГРУППИРОВАТЬ ПО Продажи.Период, Продажи.Контрагент, Продажи.Регистратор ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВложенныйЗапрос.ГлубинаПомесячно, ВложенныйЗапрос.Контрагент, КОЛИЧЕСТВО(*) КАК КоличествоПродаж ПОМЕСТИТЬ КоличествоПродажЗаМесяц ИЗ (ВЫБРАТЬ ПродажиСГлубинойПомесячно.ГлубинаПомесячно КАК ГлубинаПомесячно, ПродажиСГлубинойПомесячно.Контрагент КАК Контрагент ИЗ ПродажиСГлубинойПомесячно КАК ПродажиСГлубинойПомесячно СГРУППИРОВАТЬ ПО ПродажиСГлубинойПомесячно.Контрагент, ПродажиСГлубинойПомесячно.ГлубинаПомесячно) КАК ВложенныйЗапрос ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПродажиСГлубинойПомесячно КАК ПродажиСГлубинойПомесячно ПО ВложенныйЗапрос.ГлубинаПомесячно = ПродажиСГлубинойПомесячно.ГлубинаПомесячно И ВложенныйЗапрос.Контрагент = ПродажиСГлубинойПомесячно.Контрагент СГРУППИРОВАТЬ ПО ВложенныйЗапрос.ГлубинаПомесячно, ВложенныйЗапрос.Контрагент ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ КоличествоПродажЗаМесяц.Контрагент, СУММА(ВЫБОР КОГДА КоличествоПродажЗаМесяц.ГлубинаПомесячно <= 1 ТОГДА КоличествоПродажЗаМесяц.КоличествоПродаж ИНАЧЕ 0 КОНЕЦ) КАК ПродажиЗаПоследнийМесяц, ВЫБОР КОГДА КоличествоПродажЗаМесяц.ГлубинаПомесячно <= 2 ТОГДА КоличествоПродажЗаМесяц.КоличествоПродаж ИНАЧЕ 0 КОНЕЦ КАК ПродажиЗаПоследние2Месяца, ВЫБОР КОГДА КоличествоПродажЗаМесяц.ГлубинаПомесячно <= 2 ТОГДА КоличествоПродажЗаМесяц.КоличествоПродаж ИНАЧЕ 0 КОНЕЦ КАК ПродажиЗаПоследние3Месяца ИЗ КоличествоПродажЗаМесяц КАК КоличествоПродажЗаМесяц СГРУППИРОВАТЬ ПО КоличествоПродажЗаМесяц.Контрагент, ВЫБОР КОГДА КоличествоПродажЗаМесяц.ГлубинаПомесячно <= 2 ТОГДА КоличествоПродажЗаМесяц.КоличествоПродаж ИНАЧЕ 0 КОНЕЦ, ВЫБОР КОГДА КоличествоПродажЗаМесяц.ГлубинаПомесячно <= 2 ТОГДА КоличествоПродажЗаМесяц.КоличествоПродаж ИНАЧЕ 0 КОНЕЦ |
|||
28
Kashemir
05.09.12
✎
11:38
|
+(27) Правка к последнему куску
ВЫБРАТЬ КоличествоПродажЗаМесяц.Контрагент, СУММА(ВЫБОР КОГДА КоличествоПродажЗаМесяц.ГлубинаПомесячно <= 1 ТОГДА КоличествоПродажЗаМесяц.КоличествоПродаж ИНАЧЕ 0 КОНЕЦ) КАК ПродажиЗаПоследнийМесяц, СУММА(ВЫБОР КОГДА КоличествоПродажЗаМесяц.ГлубинаПомесячно <= 2 ТОГДА КоличествоПродажЗаМесяц.КоличествоПродаж ИНАЧЕ 0 КОНЕЦ) КАК ПродажиЗаПоследние2Месяца, СУММА(ВЫБОР КОГДА КоличествоПродажЗаМесяц.ГлубинаПомесячно <= 3 ТОГДА КоличествоПродажЗаМесяц.КоличествоПродаж ИНАЧЕ 0 КОНЕЦ) КАК ПродажиЗаПоследние3Месяца ИЗ КоличествоПродажЗаМесяц КАК КоличествоПродажЗаМесяц СГРУППИРОВАТЬ ПО КоличествоПродажЗаМесяц.Контрагент |
|||
29
Cerera
05.09.12
✎
12:50
|
(23)это слишком круто. каким умным надо быть человеком чтоб такой запрос создать?
|
|||
30
Kashemir
05.09.12
✎
12:55
|
(29) Запрос как запрос - не вижу сложностей
|
|||
31
Cerera
05.09.12
✎
13:14
|
(30)а тз откда берёшь?
|
|||
32
Kashemir
05.09.12
✎
13:16
|
(31) Я без понятия какой у тебя источник данных - потому ввел внешний для удобства. Подставь вместо него свой
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |