Имя: Пароль:
1C
 
Анализ данных - поиск товаров продаваемых вместе
0 Pashkaa
 
01.03.07
06:14
Задался этим вопросом и в одном из источников нашел пример

       Анализ = Новый АнализДанных;

   // Найти ассоциации.
   Анализ.ТипАнализа = Тип("АнализДанныхПоискАссоциаций");

   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
   |    ПродажиКомпанииОбороты.Регистратор КАК ДокументПродажи,
   |    ПродажиКомпанииОбороты.Номенклатура
   |ИЗ
   |    РегистрНакопления.Продажи.Обороты(&НачПериода, &КонПериода, Регистратор) КАК ПродажиКомпанииОбороты
   |УПОРЯДОЧИТЬ ПО
   |    ДокументПродажи";

   // Ассоциации ищем подокументно, это определяется поведением
   // объекта "АнализДанных" "по умолчанию" при выборе
   // периодичности виртуальной таблицы Регистратор
   Запрос.УстановитьПараметр("НачПериода", ЭлементыФормы.ДатаНачало.Значение);
   Запрос.УстановитьПараметр("КонПериода", ЭлементыФормы.ДатаКонец.Значение);  

   Анализ.ИсточникДанных = Запрос.Выполнить();
   РезультатАнализа = Анализ.Выполнить();

   // Исходя из полученного анализа создать прогноз.
   МодельПрогноза = РезультатАнализа.СоздатьМодельПрогноза();

   // ТЗ- таблица значений, содержащая данные о том,
   // какие номенклатурные позиции вошли в "текущую" покупку.
   МодельПрогноза.ИсточникДанных = ТЗ;

   // ТП - элемент управления "Табличное поле" связанный через
   // свойство "Данные" с реквизитом формы "ТП" (тип ТаблицаЗначений)
   ТП = МодельПрогноза.Выполнить();
   ЭлементыФормы.ТП.СоздатьКолонки();


запихал это все во внешник, на форме создал таблички, даты и т.д.
Зарядил анализ за 2 года, выбрал товар для которого искать сопутствующий и поитого получил пустую таблицу.

Может то нить подробно разбирался с Анализом данных??
1 ТелепатБот
 
гуру
01.03.07
06:14
2 TormozIT
 
гуру
01.03.07
06:49
Скачай ПАД (Подсистема анализа данных) от 1С.
3 TormozIT
 
гуру
01.03.07
06:51
Однажды я накатил ее на УТ и начал смотреть. Через пол часа мозг закипел просто =)
4 dk
 
01.03.07
07:37
Не сталкивался с такой задачей, но имхо можно тупо построить матрицу:
__________Товар1____Товар2____Товар3
Товар1____Колво11___Колво21___Колво31
ТОвар2____Колво12___Колво22___Колво32
ТОвар3____Колво13___Колво23___Колво33
Т.е. обычный запрос по продажам с группировкой документ, товар.
5 dk
 
01.03.07
07:41
(4)+
Пример:
док1
товар1
Товар2
Док2
товар2
Товар3
Док3
Товар1
ТОвар2
---
Получим
__________Товар1____Товар2____Товар3
Товар1____Колво11_________2___Колво31
ТОвар2__________2___Колво22_________1
ТОвар3____Колво13_________1___Колво33
Видим, что товар2 и товар1 идут вместе хорошо
6 Hadgehogs
 
01.03.07
07:46
Людям и городам
От Земли и до звезд
по горячим губам
SOS SOS SOS

   Запрос=Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ПродажиОбороты.Номенклатура,
   |    ПродажиОбороты.Регистратор КАК Регистратор
   |ИЗ
   |    РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ПродажиОбороты
   |
   |УПОРЯДОЧИТЬ ПО
   |    Регистратор";
   Анализ = Новый АнализДанных;
   Анализ.ТипАнализа = Тип("АнализДанныхПоискАссоциаций");
   Запрос.УстановитьПараметр("НачалоПериода",НачалоПериода);
   Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
   Анализ.ИсточникДанных = Запрос.Выполнить();
   Колонка=Анализ.НастройкаКолонок.Найти("Регистратор");
   Колонка.ТипКолонки=ТипКолонкиАнализаДанныхПоискАссоциаций.Объект;
   Колонка=Анализ.НастройкаКолонок.Найти("Номенклатура");
   Колонка.ТипКолонки=ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент;
   РезультатАнализа = Анализ.Выполнить();
   Группы=РезультатАнализа.Группы;
   ТабДок = ЭлементыФормы.ТабДок;
   ТабДок.Очистить();
   Таблица=Новый ТаблицаЗначений;
   Таблица.Колонки.Добавить("Группа");
   Таблица.Колонки.Добавить("Случаи");
   Для  Индекс=0 По Группы.Количество()-1 Цикл
       Элемент=Группы.Получить(Индекс);
       Строка=Таблица.Добавить();
       Строка.Группа=Элемент.Элементы;
       Строка.Случаи=Элемент.КоличествоСлучаев;
   КонецЦикла;
   Таблица.Сортировать("Случаи Desc");
   Макет=ПолучитьМакет("Макет");
   ОбластьШапка=Макет.ПолучитьОбласть("Шапка");
   ОбластьТовар=Макет.ПолучитьОбласть("Товар");
   ОбластьИтог=Макет.ПолучитьОбласть("Итог");
   ТабДок.Вывести(ОбластьШапка);
   Для Каждого Элемент ИЗ Таблица Цикл
       Группа=Элемент.Группа;
       Для Индекс=0 По Группа.Количество()-1 Цикл
           Товар=Группа[Индекс];
           ОбластьТовар.Параметры.Товар=Товар;
           ТабДок.Вывести(ОбластьТовар);
       КонецЦикла;
       ОбластьИтог.Параметры.КолВо=Элемент.Случаи;
       ТабДок.Вывести(ОбластьИтог);
   КонецЦикла;
7 Pashkaa
 
01.03.07
07:59
(2) (3) Ставил, тоже долго крутил это дополнение, результат примерно тот же. Мозги не вынесли результатов.

Захотелось всё упростить
8 Pashkaa
 
01.03.07
08:01
(6) а в макете у тебя что??

Попробую восстановить по коду :-)
9 Pashkaa
 
01.03.07
08:05
(6) а у тебя случайно это не во внешнике??
10 Hadgehogs
 
01.03.07
08:13
Скинуть на ящик?
11 Hadgehogs
 
01.03.07
08:15
Скинул...
12 Pashkaa
 
01.03.07
08:15
Я уже восстановил по коду.

Один фиг не выводит ничего кроме заголовка.
В отладчике понимаю что Групп 0

Как так то, за 2 года и нет совпадений или я чего то не понимаю в механизме анализа
13 Hadgehogs
 
01.03.07
08:18
Ну заведите реализацию, в которой 2 товара, скопируйте ее раза 3, посмотрите.
Должно сработать...
14 Pashkaa
 
01.03.07
08:18
Поймал на мыло, но результат тот же. Товара такого не найдено

Если допустим в двух накладных из 2000 будет встречаться товар А и В он найдет между ними хоть какое то соответствие и выдаст его??
15 Hadgehogs
 
01.03.07
08:19
Должен.
Гарантирует только бог, я предполагаю.
16 Hadgehogs
 
01.03.07
08:21
Выгрузку скинул...
17 Pashkaa
 
01.03.07
08:27
Попробовал за один день 28.02.2007 скопировать одни и пот же документ дважды одно и той же датой.

1) Указал период отчета с 28.02.2007 по сегодня, выдал два совпадения,
2) Указываю период с 01.01.2007 по сегодня в отчёте пусто
3) ровожу документ скопированный 27.02.2007, указываю период отчёта с 27.02.2007 по 28.02.2007 выдает пустой отчёт

Периодичность анализа как то видимо установлена по дням. Но тогда почему не работает 2) вариант не пойму
18 Buran
 
01.03.07
08:54
У нас ПАД работает у одного из клиентов. Показывает то, что нужно.
19 Pashkaa
 
01.03.07
09:05
(18) до то что он показывает то что нужно сомнений не вызывает. Еще бы понять что запоказатели он выводит

Хочется сделать на дурака так сказать поиск сопутствующих товаро при продаже.
Добавить кнопку в документ и форму с результатом
20 Vozhd
 
01.03.07
09:22
(19) По-моему не стоит дураку давать такой инструмент...
21 Pashkaa
 
01.03.07
09:28
(20) дураку будет доступен лишь результат :-) главное написать его получение.

Что страшного в том что пользователь набрал в Реализации например 5 позиций товара, ткнул на кнопочку Сопутствующие и 1С выдала ему через ПоискАссоциаций возможные варианты
22 Vozhd
 
01.03.07
09:37
(21) Страшное - это когда дурак из этих вариантов начнет делать выводы...
23 Buran
 
01.03.07
09:39
(19) Так и есть.
Насчет "дураков" простейший пример: в МакДональдсе предлагают пирожок или там колу по тому, что уже заказано. Насколько я понимаю, кассирам дисплей подсказывает.
24 Vozhd
 
01.03.07
09:45
(23) А мне казалось, что колу и пирожок они предлагают всем подряд. Мне как-то колу к молоку предлагали...
25 Neco
 
01.03.07
09:46
(24) У них что тоже анализ данных от 1С на кассах?
26 Neco
 
01.03.07
09:46
Кстати в презентации от 1С приведен пример про молодых отцов, которые покупают памперсы, а анализ типа советует еще рядом продавать пиво
27 Vozhd
 
01.03.07
09:47
(26) Это старая байка ВолМарта, 1С тут ни при чем...
28 Pashkaa
 
01.03.07
09:48
Ладно придётся тогда объяснить что я имел ввиду под понятием "дурака"

Менеджеры у нас работают ребята грамотные, но порой в запарке забывают предложить клиенту к компрессору например канистру масла для обкатки.

Ситуаци на самом деле многои торгуем не кока колой :-)

Хер с ним смотрю тема с МакДональдсом всем понравилась, но нет у нас его и какое там обслуживание я не знаю, пусть хоть туалетную бумагу предлагают к Гамбургерам.

Обстрагируйтесь и помогите решить проблему с анализом (а пожрать мы сегодня еще успеем)
29 Vozhd
 
01.03.07
09:50
(28) Я бы все таки предложил не отказываться от варианта ПАД. Вызварть обработку с готовой настройкой там вроде не трудно.
С ПАД идет довольно большое описание того, как она работает и как ее настраивать.
30 Buran
 
01.03.07
10:28
(29) +1
Программист всегда исправляет последнюю ошибку.