Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут! (в рабочие часы)

Механизм анализа данных в 1С

Рассмотрим такой функционал, который очень часто недооценен программистами, как встроенный в систему 1С 8 механизм прогнозирования и анализа данных.

анализ данных 1С

Механизм анализа данных в 1С 8.2 и 8.3 упрощает работу разработчика по части выявления закономерностей на основании различных данных. Например, с помощью него можно отобразить товары, которые чаще всего покупаются вместе. Эту информацию можно использовать как для помощи в закупках, так и для напоминания менеджерам предприятия. Другой пример – построение прогноза по продажам на основании данных прошлого периода. Эта информация будет очень ценна для отдела закупок.

Это далеко не весь спектр применения механизма анализа данных в 1С, углубимся в его возможности подробнее.

Основные объекты механизма анализа данных в 1С

Этот механизм представлен в системе 1С Предприятие 3 объектами системы:

  • Анализ данных – объект, выполняющий анализ данных. Для него необходимо задать источник данных и необходимые параметры для анализа.
  • Результат анализа данных – объект, являющийся результатом работы анализа данных.
  • Модель прогноза – создается на основании результата анализа данных. Объект является конечным звеном в механизме анализа 1С и генерирует таблицу значений, которая содержит прогнозируемые значения.

Типы анализа данных 1С 8.3

Система 1С Предприятие может использовать разные типы анализа, рассмотрим их подробнее.

  1. Общая статистика – этот тип анализа представляет собой простую статистическую выборку из источника данных. Пример применения – анализ продаж по номенклатуре за период. Результатом анализа станет информация о том, сколько было продано того или иного товара. Также система рассчитает специфические поля – максимум, минимум, медиана, среднее, размах, стандартное отклонение, количество значений, количество уникальных значений, мода.
  2. Поиск ассоциаций – тип анализа предназначен для поиска часто встречающихся вместе комбинаций. Очень хорошо подходит для нахождения покупаемой вместе номенклатуры. В результате анализа система сгенерирует следующую информацию: информацию об обработанных данных, ассоциативные группы, ассоциативные правила, по которым сопоставлены группы.
  3. Поиск последовательностей – анализ, позволяющий выявить закономерности в анализируемых данных и предложить дальнейший прогноз. В результате выполнения анализа система отобразит информацию о возможности возникновения тех или иных событий в процентном выражении.
  4. Кластерный анализ – позволяет провести анализ, с помощью которого можно распределить какую-либо информацию по группам (кластерам) на основании данных из источника. Такая информация может быть полезна, например, при классификации покупателей.
  5. Дерево решений – с помощью данного вида анализа можно получить структуру классифицирующих правил в виде иерархического дерева. Этот тип анализа помогает связать причины с возникновением тех или иных событий. Например, проанализировав определенное количество неудачных сделок, можно получить причину потери клиентов.

Пример использования анализа данных в 1С

Рассмотрим использование функционала Анализ данных на примере программного кода для поиска совместно продаваемой номенклатуры в типовой конфигурации Управление торговлей 11. Данный программный код записывает информацию о часто продаваемых совместно товарах в регистр «НоменклатураПродаваемаяСовместно».

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

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

Анализ.ИсточникДанных = ИсточникДанных; //источник данных – вся номенклатура из документов «Реализация товаров и услуг»

Анализ.НастройкаКолонок.Документ.ТипКолонки       = ТипКолонкиАнализаДанныхПоискАссоциаций.Объект;

Анализ.НастройкаКолонок.Номенклатура.ТипКолонки   = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент;

Анализ.НастройкаКолонок.Характеристика.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент;

Анализ.Параметры.МинимальныйПроцентСлучаев.Значение = Константы.МинимальныйПроцентСлучаевНоменклатурыПродаваемойСовместно.Получить();

Анализ.Параметры.МинимальнаяЗначимость.Значение     = Константы.МинимальнаяЗначимостьНоменклатурыПродаваемойСовместно.Получить();

Анализ.Параметры.МинимальнаяДостоверность.Значение  = Константы.МинимальнаяДостоверностьНоменклатурыПродаваемойСовместно.Получить();

Анализ.Параметры.ТипОтсеченияПравил.Значение = ТипОтсеченияПравилАссоциации.Покрытые;

РезультатАнализа = Анализ.Выполнить();

Набор = РегистрыСведений.НоменклатураПродаваемаяСовместно.СоздатьНаборЗаписей();

Набор.Отбор.ДобавленоАвтоматически.Значение = Истина;

Набор.Отбор.ДобавленоАвтоматически.Использование = Истина;

Набор.Отбор.ВариантАнализа.Значение = ВариантАнализа;

Набор.Отбор.ВариантАнализа.Использование = Истина;

ТаблицаНабора = Набор.ВыгрузитьКолонки();

ТаблицаНабора.Индексы.Добавить(

"НоменклатураПредпосылка,

|ХарактеристикаПредпосылка,

|НоменклатураСледствие,

|ХарактеристикаСледствие"

);

Для Каждого Правило Из РезультатАнализа.Правила Цикл

Если Правило.Предпосылка.Количество() = 1 Тогда

Для Каждого Предпосылка Из Правило.Предпосылка Цикл

Для Каждого Следствие Из Правило.Следствие Цикл

Если ТаблицаНабора.НайтиСтроки(Новый Структура(

"НоменклатураПредпосылка,

|ХарактеристикаПредпосылка,

|НоменклатураСледствие,

|ХарактеристикаСледствие",

Предпосылка.Номенклатура.Значение,

Предпосылка.Характеристика.Значение,

Следствие.Номенклатура.Значение,

Следствие.Характеристика.Значение

)).Количество() = 0 Тогда

Запись = ТаблицаНабора.Добавить();

Запись.ВариантАнализа            = ВариантАнализа;

Запись.ДобавленоАвтоматически    = Истина;

Запись.НоменклатураПредпосылка   = Предпосылка.Номенклатура.Значение;

Запись.ХарактеристикаПредпосылка = Предпосылка.Характеристика.Значение;

Запись.НоменклатураСледствие     = Следствие.Номенклатура.Значение;

Запись.ХарактеристикаСледствие   = Следствие.Характеристика.Значение;

Запись.ПроцентСлучаев            = Правило.ПроцентСлучаев;

Запись.КоличествоСлучаев         = Правило.КоличествоСлучаев;

КонецЕсли;

КонецЦикла;

КонецЦикла;

КонецЕсли;

КонецЦикла;

Набор.Загрузить(ТаблицаНабора);

Набор.Записать();

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 6 на “Механизм анализа данных в 1С
  1. Добрый день, какой тип данных у переменной «вариант анализа», и что она должна содержать, если можно то пример кода

    Ответить

    • «вариант анализа» — это измерение непериодического РС

      Ответить

      • «Измерение» — это не тип данных…

        Ответить

  2. и какие ресурсы и измерения должен содержать регистр?

    Ответить

  3. что содержит эта константа? пример ее заполнения

    Ответить

  4. К сожалению, просто кусок кода кинули и все…

    Ответить

Добавить комментарий:

Ваш адрес email не будет опубликован.