Механизм анализа данных в 1С
Рассмотрим такой функционал, который очень часто недооценен программистами, как встроенный в систему 1С 8 механизм прогнозирования и анализа данных.
Механизм анализа данных в 1С 8.2 и 8.3 упрощает работу разработчика по части выявления закономерностей на основании различных данных. Например, с помощью него можно отобразить товары, которые чаще всего покупаются вместе. Эту информацию можно использовать как для помощи в закупках, так и для напоминания менеджерам предприятия. Другой пример – построение прогноза по продажам на основании данных прошлого периода. Эта информация будет очень ценна для отдела закупок.
Это далеко не весь спектр применения механизма анализа данных в 1С, углубимся в его возможности подробнее.
Содержание
Основные объекты механизма анализа данных в 1С
Этот механизм представлен в системе 1С Предприятие 3 объектами системы:
- Анализ данных – объект, выполняющий анализ данных. Для него необходимо задать источник данных и необходимые параметры для анализа.
- Результат анализа данных – объект, являющийся результатом работы анализа данных.
- Модель прогноза – создается на основании результата анализа данных. Объект является конечным звеном в механизме анализа 1С и генерирует таблицу значений, которая содержит прогнозируемые значения.
Типы анализа данных 1С 8.3
Система 1С Предприятие может использовать разные типы анализа, рассмотрим их подробнее.
- Общая статистика – этот тип анализа представляет собой простую статистическую выборку из источника данных. Пример применения – анализ продаж по номенклатуре за период. Результатом анализа станет информация о том, сколько было продано того или иного товара. Также система рассчитает специфические поля – максимум, минимум, медиана, среднее, размах, стандартное отклонение, количество значений, количество уникальных значений, мода.
- Поиск ассоциаций – тип анализа предназначен для поиска часто встречающихся вместе комбинаций. Очень хорошо подходит для нахождения покупаемой вместе номенклатуры. В результате анализа система сгенерирует следующую информацию: информацию об обработанных данных, ассоциативные группы, ассоциативные правила, по которым сопоставлены группы.
- Поиск последовательностей – анализ, позволяющий выявить закономерности в анализируемых данных и предложить дальнейший прогноз. В результате выполнения анализа система отобразит информацию о возможности возникновения тех или иных событий в процентном выражении.
- Кластерный анализ – позволяет провести анализ, с помощью которого можно распределить какую-либо информацию по группам (кластерам) на основании данных из источника. Такая информация может быть полезна, например, при классификации покупателей.
- Дерево решений – с помощью данного вида анализа можно получить структуру классифицирующих правил в виде иерархического дерева. Этот тип анализа помогает связать причины с возникновением тех или иных событий. Например, проанализировав определенное количество неудачных сделок, можно получить причину потери клиентов.
Пример использования анализа данных в 1С
Рассмотрим использование функционала Анализ данных на примере программного кода для поиска совместно продаваемой номенклатуры в типовой конфигурации Управление торговлей 11. Данный программный код записывает информацию о часто продаваемых совместно товарах в регистр «НоменклатураПродаваемаяСовместно».
Анализ = Новый АнализДанных; Анализ.ТипАнализа = Тип("АнализДанныхПоискАссоциаций"); Анализ.ИсточникДанных = ИсточникДанных; //источник данных – вся номенклатура из документов «Реализация товаров и услуг» Анализ.НастройкаКолонок.Документ.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Объект; Анализ.НастройкаКолонок.Номенклатура.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент; Анализ.НастройкаКолонок.Характеристика.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент; Анализ.Параметры.МинимальныйПроцентСлучаев.Значение = Константы.МинимальныйПроцентСлучаевНоменклатурыПродаваемойСовместно.Получить(); Анализ.Параметры.МинимальнаяЗначимость.Значение = Константы.МинимальнаяЗначимостьНоменклатурыПродаваемойСовместно.Получить(); Анализ.Параметры.МинимальнаяДостоверность.Значение = Константы.МинимальнаяДостоверностьНоменклатурыПродаваемойСовместно.Получить(); Анализ.Параметры.ТипОтсеченияПравил.Значение = ТипОтсеченияПравилАссоциации.Покрытые; РезультатАнализа = Анализ.Выполнить(); Набор = РегистрыСведений.НоменклатураПродаваемаяСовместно.СоздатьНаборЗаписей(); Набор.Отбор.ДобавленоАвтоматически.Значение = Истина; Набор.Отбор.ДобавленоАвтоматически.Использование = Истина; Набор.Отбор.ВариантАнализа.Значение = ВариантАнализа; Набор.Отбор.ВариантАнализа.Использование = Истина; ТаблицаНабора = Набор.ВыгрузитьКолонки(); ТаблицаНабора.Индексы.Добавить( "НоменклатураПредпосылка, |ХарактеристикаПредпосылка, |НоменклатураСледствие, |ХарактеристикаСледствие" ); Для Каждого Правило Из РезультатАнализа.Правила Цикл Если Правило.Предпосылка.Количество() = 1 Тогда Для Каждого Предпосылка Из Правило.Предпосылка Цикл Для Каждого Следствие Из Правило.Следствие Цикл Если ТаблицаНабора.НайтиСтроки(Новый Структура( "НоменклатураПредпосылка, |ХарактеристикаПредпосылка, |НоменклатураСледствие, |ХарактеристикаСледствие", Предпосылка.Номенклатура.Значение, Предпосылка.Характеристика.Значение, Следствие.Номенклатура.Значение, Следствие.Характеристика.Значение )).Количество() = 0 Тогда Запись = ТаблицаНабора.Добавить(); Запись.ВариантАнализа = ВариантАнализа; Запись.ДобавленоАвтоматически = Истина; Запись.НоменклатураПредпосылка = Предпосылка.Номенклатура.Значение; Запись.ХарактеристикаПредпосылка = Предпосылка.Характеристика.Значение; Запись.НоменклатураСледствие = Следствие.Номенклатура.Значение; Запись.ХарактеристикаСледствие = Следствие.Характеристика.Значение; Запись.ПроцентСлучаев = Правило.ПроцентСлучаев; Запись.КоличествоСлучаев = Правило.КоличествоСлучаев; КонецЕсли; КонецЦикла; КонецЦикла; КонецЕсли; КонецЦикла; Набор.Загрузить(ТаблицаНабора); Набор.Записать();
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
СПРОСИТЕ в комментариях!
felixsot14:
Добрый день, какой тип данных у переменной «вариант анализа», и что она должна содержать, если можно то пример кода
pallid:
«вариант анализа» — это измерение непериодического РС
shelik:
«Измерение» — это не тип данных…
felixsot14:
и какие ресурсы и измерения должен содержать регистр?
felixsot14:
что содержит эта константа? пример ее заполнения
Rave:
К сожалению, просто кусок кода кинули и все…