Механизм анализа данных

Механизм представляется совокупностью объектов встроенного языка 1С:Предприятие. Схема взаимодействия основных объектов механизма показана на рисунке.

Объекты, которые могут быть использованы на сервере 1С:Предприятие отображены на схеме в блоках с белым фоном, объекты, используемые только на клиенте помещены в блоки с темным фоном.

Настройка колонок анализа данных – совокупность настроек входных колонок анализа данных. Для каждой колонки указывается тип данных, содержащихся в ней, роль выполняемая колонкой, дополнительные настройки, зависящие от типа производимого анализа.

Параметры анализа данных – набор параметров производимого анализа данных. Состав параметров зависит от типа анализа. Например, для кластерного анализа указывается количество кластеров, на которые необходимо разбить исходные объекты, тип измерения расстояния между объектами и т.п.

Исходные данные – источник данных для анализа. В качестве источника данных может выступать результат запроса, область ячеек табличного документа, таблица значений.

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

Результат анализа данных – специальный объект, содержащий информацию о результате анализа. Для каждого вида анализа предусмотрен свой результат. Например, результатом анализа данных – дерево решения будет объект типа РезультатАнализаДанныхДеревоРешений. В дальнейшем результат может быть выведен в табличный документ при помощи построителя отчета анализа данных, может быть выведен посредством программного доступа к его содержимому, может быть использован для создания модели прогноза. Любой результат анализа данных может быть сохранен для последующего использования.

Модель прогноза – специальный объект, позволяющий выполнять прогноз на основании входных данных. Тип модели зависит от типа анализа данных. Например, модель, созданная для анализа данных – поиск ассоциаций будет иметь тип МодельПрогнозаПоискаАссоциаций. Такая модель сможет выдавать прогнозы типа: т.к. данный покупатель купил заданный набор товаров, то с определенно вероятностью он должен купить и другой набор товаров. На вход модели прогноза передается источник данных для прогноза. Результатом является таблица значений, содержащая прогнозируемые значения.

Выборка для прогноза – таблица значений, результат запроса или область табличного документа, содержащая информацию, по которой необходимо построить прогноза. Например, для модели прогноза – поиск ассоциаций, выборка может содержать перечень продуктов документа продажи. Результат же работы модели может рекомендовать, какие товары можно еще предложить покупателю.

Настройка колонок выборки – набор специальных объектов, показывающих соответствие между колонками модели прогноза и колонками выборки прогноза. Например, колонки модели прогноза с именем «Товар» может соответствовать колонка выборки «Номенклатура».

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

Результат работы модели – таблица значений состоящая из колонок, как указано в настройках результирующих колонок и содержащая прогнозируемые данных. Конкретное содержимое определяется типом анализа.

Построитель отчета анализа данных – объект, позволяющий выводить отчет о результате анализа данных. Кроме того, построитель отчета предоставляет специальные объект для связи с данными, с тем, чтобы позволить пользователю интерактивно управлять параметрами анализа, настройкой колонок источника данных, настроек колонок модели прогноза и т.п.

Типы анализа

Механизм позволяет выполнять следующие виды анализа:

    • Общая статистика

    • Поиск ассоциаций

    • Поиск последовательностей

    • Дерево решений

    • Кластерный анализ

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

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

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

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

    • Анализ данных – объект выполняющий анализ данных. Для него необходимо задать источник данных и необходимые параметры для анализа.

    • Результат анализа данных – объект, являющийся результатом работы анализа данных.

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

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

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

    1. Общая статистика – этот тип анализа представляет собой простую статистическую выборку из источника данных. Пример применения – анализ продаж по номенклатуре за период. Результатом анализа станет информация о том, сколько было продано того или иного товара. Так же система рассчитает специфические поля – максимум, минимум, медиана, среднее, размах, стандартное отклонение, количество значений, количество уникальных значений, мода.

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

    3. Поиск последовательностей – анализ позволяющий выявить закономерности в анализируемых данных и предложить дальнейших прогноз. В результате выполнения анализа система отобразит информацию о возможности возникновения тех или иных событий в процентном выражении.

    4. Кластерный анализ – позволяет провести анализ, с помощью которого можно распределить какую либо информацию по группам(кластерам) на основании данных из источника. Такая информация может быть полезна, например, при классификации покупателей.

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

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

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

Анализ = Новый АнализДанных; Анализ.ТипАнализа = Тип("АнализДанныхПоискАссоциаций"); Анализ.ИсточникДанных = ИсточникДанных; //источник данных – вся номенклатура из документов «Реализация товаров и услуг» Анализ.НастройкаКолонок.Документ.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Объект; Анализ.НастройкаКолонок.Номенклатура.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент; Анализ.НастройкаКолонок.Характеристика.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент; Анализ.Параметры.МинимальныйПроцентСлучаев.Значение = Константы.МинимальныйПроцентСлучаевНоменклатурыПродаваемойСовместно.Получить(); Анализ.Параметры.МинимальнаяЗначимость.Значение = Константы.МинимальнаяЗначимостьНоменклатурыПродаваемойСовместно.Получить(); Анализ.Параметры.МинимальнаяДостоверность.Значение = Константы.МинимальнаяДостоверностьНоменклатурыПродаваемойСовместно.Получить(); Анализ.Параметры.ТипОтсеченияПравил.Значение = ТипОтсеченияПравилАссоциации.Покрытые; РезультатАнализа = Анализ.Выполнить(); Набор = РегистрыСведений.НоменклатураПродаваемаяСовместно.СоздатьНаборЗаписей(); Набор.Отбор.ДобавленоАвтоматически.Значение = Истина; Набор.Отбор.ДобавленоАвтоматически.Использование = Истина; Набор.Отбор.ВариантАнализа.Значение = ВариантАнализа; Набор.Отбор.ВариантАнализа.Использование = Истина; ТаблицаНабора = Набор.ВыгрузитьКолонки(); ТаблицаНабора.Индексы.Добавить("НоменклатураПредпосылка,|ХарактеристикаПредпосылка,|НоменклатураСледствие,|ХарактеристикаСледствие");Для Каждого Правило Из РезультатАнализа.Правила Цикл Если Правило.Предпосылка.Количество() = 1 Тогда Для Каждого Предпосылка Из Правило.Предпосылка Цикл Для Каждого Следствие Из Правило.Следствие Цикл Если ТаблицаНабора.НайтиСтроки(Новый Структура( "НоменклатураПредпосылка, |ХарактеристикаПредпосылка, |НоменклатураСледствие, |ХарактеристикаСледствие", Предпосылка.Номенклатура.Значение, Предпосылка.Характеристика.Значение, Следствие.Номенклатура.Значение, Следствие.Характеристика.Значение )).Количество() = 0 Тогда Запись = ТаблицаНабора.Добавить(); Запись.ВариантАнализа = ВариантАнализа; Запись.ДобавленоАвтоматически = Истина; Запись.НоменклатураПредпосылка = Предпосылка.Номенклатура.Значение; Запись.ХарактеристикаПредпосылка = Предпосылка.Характеристика.Значение; Запись.НоменклатураСледствие = Следствие.Номенклатура.Значение; Запись.ХарактеристикаСледствие = Следствие.Характеристика.Значение; Запись.ПроцентСлучаев = Правило.ПроцентСлучаев; Запись.КоличествоСлучаев = Правило.КоличествоСлучаев; КонецЕсли; КонецЦикла; КонецЦикла; КонецЕсли; КонецЦикла; Набор.Загрузить(ТаблицаНабора); Набор.Записать();