DataReducer — R-консоль для «1С:Предприятия»

04.05.18

Разработка - Инструментарий разработчика

Программа для обработки, анализа и визуализации данных информационных баз «1С:Предприятия» с использованием возможностей языка программирования R.

Файлы для установки

Наименование Файл Версия Размер
DataReducer Console — версия для Windows 10 x64 (за SM)
.exe 61,28Mb
3
.exe 1.1.14 61,28Mb 3 Скачать
Файлы для развертывания Docker-сервисов
.zip 7,93Kb
10
.zip 7,93Kb 10 Скачать бесплатно
DataReducer Console — версия для DEB-based Linux x64 (за SM)
.deb 67,20Mb
0
.deb 1.1.14 67,20Mb Скачать

Документация и модели из примеров

Наименование Файл Версия Размер
Руководство пользователя DataReducer
.pdf 2,65Mb
33
.pdf 2.2 2,65Mb 33 Скачать бесплатно
Пример 1: Консолидация данных из разных источников и веб-отчеты
.xml 33,14Kb
9
.xml 33,14Kb 9 Скачать бесплатно
Пример 2: Статистические функции языка R и HTML-виджеты
.xml 414,95Kb
8
.xml 414,95Kb 8 Скачать бесплатно
Почему R? Язык R был создан для статистических вычислений и в настоящий момент является одним из наиболее мощных инструментов для работы с данными. Среди многих тысяч пакетов, расширяющих базовую функциональность R, можно найти реализацию практически любых способов преобразований и анализа данных. За кажущейся непривычностью синтаксиса R скрывается возможность выполнения сложных манипуляций с данными простыми лаконичными командами. Нужно также отметить богатую функциональность R в части импорта данных любых форматов из всевозможных источников.

 

Пример 1: Консолидация данных из разных источников и веб-отчеты

Пример 2: Статистические функции языка R и HTML-виджеты

Области применения программы DataReducer:

Консолидация данных

 

Публикация отчетов в веб

DataReducer позволяет объединять данные из разных источников: информационные базы 1С, таблицы Excel, базы данных SQL, XML-документы, файлы множества других форматов.   DataReducer включает веб-приложение, предназначенное для передачи аналитической информации другим пользователям по сети. Данные 1С могут быть быстро опубликованы в виде веб-отчета.

Визуализация данных

 

Интеграция 1С с другими системами

R обладает мощными графическими возможностями. Вы можете создавать интерактивные диаграммы на основе данных из 1С и автоматически встраивать их в страницы сайта или корпоративного портала.   Веб-приложение DataReducer автоматически конвертирует данные в форматы XML и JSON и предоставляет к ним доступ по HTTP. DataReducer можно использовать как сервис интеграции с 1С.

Статистический анализ

 

Предварительная обработка данных

Ко множеству сфер применения R относятся статистика, эконометрика, финансовые исследования, машинное обучение. Если перед вами стоит задача статистического анализа данных 1C, то лучшего инструмента чем R не найти.   DataReducer можно использовать для извлечения и обработки данных перед их передачей в 1С. Возможности R по работе с различными API и форматами данных превосходят аналогичные возможности платформы 1С.

Системные требования

  • Операционная система: Windows 10 x64 / DEB-based Linux x64
  • 1C:Предприятие 8 - Версия 8.3.9 или старше

Схема развертывания

Процесс развертывания DataReducer состоит из следующих этапов:

  1. Публикация интерфейса OData информационных баз 1С на веб-сервере.
  2. Запуск сервисов rserve и rapport в Docker-контейнерах.
  3. Установка и настройка приложения DataReducer Console.

Эти этапы подробно описаны в Руководстве пользователя.


Интерфейс главного окна программы

1. Список информационных баз 4. Наборы данных скрипта R 7. Область вывода графики
2. Дерево метаданных 5. Область вывода сообщений
3. Вкладка скрипта R 6. Таблица данных

Пример 1: Консолидация данных из разных источников и веб-отчеты

Требуется выполнить план-фактный анализ поступлений денежных средств компании за квартал. Компания состоит из двух юридических лиц — организаций «УноФарма» и «ПортоФарма». Бухгалтерский учёт организаций ведётся в двух разных информационных базах «1С:Бухгалтерия предприятия 3.0»:

Запланированные значения поступлений необходимо получить из таблицы Excel, в которой отражены суммарные данные по всем организациям:

Шаги решения поставленной задачи в программе «DataReducer Console»

  1. Добавляем настройки подключения к информационным базам «УноФарма» и «ПортоФарма». Интерфейс OData этих баз предварительно должен быть опубликован на веб-сервере и настроен в соответствии с документацией платформы «1С:Предприятие». В DataReducer можно одновременно работать с данными любого количества информационных баз. Список подключенных баз отображается в главном окне программы.
  2. После подключения информационной базы, DataReducer Console выводит дерево её метаданных. Дерево метаданных включает все сущности, доступные через интерфейс OData (справочники, регистры, виртуальные таблицы и пр.). Для свойств сущностей выводится их тип. Для свойств с ссылочным типом выводится связанная сущность.
  3. Создаём новый скрипт R и открываем его. Каждый скрипт открывается в отдельной вкладке.
  4. Находим в дереве метаданных информационной базы «УноФарма» виртуальную таблицу оборотов регистра бухгалтерии «Хозрасчётный» и через контекстное меню добавляем её в наборы данных скрипта R. Повторяем для информационной базы «ПортоФарма». Любой набор данных можно открыть в отдельном окне и загрузить данные для просмотра.
  5. Поочерёдно открываем окна созданных наборов данных и вводим настройки запросов. Перечень доступных настроек зависит от типа объекта, которому соответствует набор данных. Начало и конец периода получения оборотов регистра бухгалтерии «Хозрасчетный» задаём в виде параметров ${periodBegin} и ${periodEnd}. Значения этих параметров будут общими для всех наборов данных скрипта R.
  6. Пишем код на языке R (см. листинг). Обращение к наборам данных осуществляется по их именам.
  7. Выполняем скрипт. На экран выводятся сообщения о ходе выполнения, в том числе сформированные запросы REST-сервису «1С:Предприятия». В области вывода графики выводится построенная диаграмма. Результаты выполнения скрипта (таблицу данных и диаграмму) можно сохранить в файлы, используя методы языка R.

 

 Листинг примера 1

 

 

На данном примере были продемонстрированы основные инструменты программы «DataReducer Console» для импорта данных информационных баз «1С:Предприятия» и некоторые методы языка R для обработки этих данных. Были консолидированы данные из трёх разных источников: двух информационных баз «1С: Бухгалтерия предприятия 3.0» и файла Excel. С помощью пакета ggplot2 была построена столбчатая диаграмма, отображающая отклонения фактических значений показателей от плановых.

Теперь опубликуем веб-отчет, содержащий результаты анализа.

В строке №96 листинга скрипта изменяем каталог сохранения файлов на /mnt/webapp-files , соответствующий каталогу файлов веб-приложения.

На вкладке «Веб-доступ» скрипта ставим галочку «Веб-доступ». При необходимости на этой вкладке можно изменить имя веб-ресурса и определить роли доступа.

В главном меню программы выбираем «Файл → Загрузить модель на сервер». Список ресурсов модели, к которым открыт веб-доступ, появится на главной странице веб-приложения:

Страница отчета с шаблоном по умолчанию:

Добавим на страницу ресурса период отчета, ссылку на скачивание данных в формате Excel и сгенерированную в R диаграмму. Для этого внесём изменения в шаблон страницы ресурса.

На вкладке «Веб-доступ» скрипта снимаем галочку «Шаблон по умолчанию». После этого шаблон страницы можно редактировать:

Добавляем в контейнер <body> следующие элементы:

<p><i>Период: с ${periodBegin?keep_before('T')} по ${periodEnd?keep_before('T')}</i></p>

<p><a href="/rapport/files/${resourceName}/${requestId}/ПланФакт.xlsx">Сохранить в Excel</a></p>

<p><img src="/rapport/files/${resourceName}/${requestId}/chart.png" class="img-responsive"></p>

После повторной загрузки модели на сервер мы увидим новую страницу ресурса:


Пример 2: Статистические функции языка R и HTML-виджеты

Основное назначение языка R – статистические вычисления. Если перед вами стоит задача статистического анализа данных «1С:Предприятия», то лучшего инструмента, чем R не найти.

В данном примере мы попробуем предсказать значение показателя прибыли от продаж по значениям показателей дебиторской и кредиторской задолженностей при помощи линейной регрессии.

Также мы построим интерактивный график, на который выведем как известные, так и прогнозные значения показателей. График будет иметь формат HTML и может быть опубликован в веб-отчете DataReducer.

Для построения регрессионной модели воспользуемся данными учета компании за 16 предыдущих кварталов. Эти данные мы получим из информационной базы «1С:ERP Управление предприятием 2».

Введём обозначения переменных и определим источники данных.

prib — Прибыль от продаж (зависимая переменная)

Прибыль от продаж = Выручка от продаж - Себестоимость продаж - Коммерческие и управленческие расходы

Источники данных: обороты регистров накопления «Выручка и себестоимость продаж» и «Прочие расходы».

deb — Дебиторская задолженность (независимая переменная)

Источники данных: остатки регистра накопления «Расчеты с клиентами по документам».

kred — Кредиторская задолженность (независимая переменная)

Источники данных: остатки регистра накопления «Расчеты с поставщиками по документам».

Таким образом, каждому кварталу будет соответствовать четыре набора данных по числу запросов к регистрам информационной базы. Необходимо получить данные по 16-ти периодам, значит, всего будет выполнено 64 запроса.

Формируем наборы данных, используя дерево метаданных информационной базы и конструкторы запросов.

 

Наблюдение по каждому кварталу и итоговую таблицу данных для анализа создаём следующим образом:

001  # Получаем значения показателей для каждого квартала
002  Q1_2014 <- data.frame(
003          period = "${Q1_2014_end}",
004          prib   = Q1_2014_ВыручкаИСебестоимость[1, c("СуммаВыручкиTurnover")] -
005                   Q1_2014_ВыручкаИСебестоимость[1, c("СтоимостьTurnover")] -
006                   Q1_2014_ПрочиеРасходы[1, c("СуммаTurnover")],
007          deb    = Q1_2014_РасчетыСКлиентами[1, c("ДолгBalance")],
008          kred   = abs(Q1_2014_РасчетыСПоставщиками[1, c("ДолгBalance")])
009  )
010  Q2_2014 <- data.frame(
011          period = "${Q2_2014_end}",
012          prib   = Q2_2014_ВыручкаИСебестоимость[1, c("СуммаВыручкиTurnover")] -
013                   Q2_2014_ВыручкаИСебестоимость[1, c("СтоимостьTurnover")] -
014                   Q2_2014_ПрочиеРасходы[1, c("СуммаTurnover")],
015          deb    = Q2_2014_РасчетыСКлиентами[1, c("ДолгBalance")],
016          kred   = abs(Q2_2014_РасчетыСПоставщиками[1, c("ДолгBalance")])
017  )
(...)
131 # Объединяем все наблюдения в одну таблицу 
132 df <- rbind(Q1_2014, Q2_2014, Q3_2014, Q4_2014, Q1_2015, Q2_2015, Q3_2015, Q4_2015, 
133  Q1_2016, Q2_2016, Q3_2016, Q4_2016, Q1_2017, Q2_2017, Q3_2017, Q4_2017)

«Q1_2014_ВыручкаИСебестоимость», «Q1_2014_ПрочиеРасходы» и пр. - это имена, которые мы дали наборам данных, соответствующим виртуальным таблицам регистров накопления. «СуммаВыручкиTurnover», «СтоимостьTurnover» и пр. - имена полей этих таблиц, формируемые платформой 1С. Периоды задаем в виде параметров.

 

Смотрим полученную таблицу данных:

 

Создадим интерактивный график изменения показателей по кварталам. Для этого воспользуемся пакетом «dygraphs», предоставляющем R-программисту возможности одноименной JavaScript-библиотеки:

135  # Приводим данные к формату xts
136  library(xts)
137  data_xts <- xts(df[,-1], order.by=as.POSIXct(df[,1]))
138  
139  # Строим график
140  library(dygraphs)
141  graph <- dygraph(data_xts, width=750, height=350) %>%
142      dySeries("prib", label = "Прибыль") %>%
143      dySeries("deb", label = "Деб_зад") %>%
144      dySeries("kred", label = "Кред_зад") %>%
145      dyOptions(drawPoints=TRUE, pointSize=2, drawAxesAtZero=TRUE, labelsKMB=TRUE) %>%
146      dyRangeSelector()
147  
148  # Сохраняем виджет с графиком 
149  library(htmlwidgets)
150  saveWidget(graph, file="/mnt/host/prib.html", selfcontained = TRUE)

 

 

Создаём линейную модель и предварительно оцениваем её:

155  model <- lm(data=df, prib~deb+kred)
156  paste(capture.output(print(summary(model))), collapse='\n')

 

Как видно из последнего столбца таблицы, коэффициенты при переменных deb и kred статистически значимо отличаются от нуля при p < 0.01 и p < 0.001, соответственно. Это указывает на то, что и дебиторская и кредиторская задолженности влияют на показатель прибыли от продаж. Взятые вместе, они на 57% описывают изменения показателя (Multiple R-squared: 0.571).

Теперь проверим данные и посмотрим, можем ли мы нашу модель улучшить.

Для этого воспользуемся методами, реализованными в пакете car (пакет уже установлен в Docker-контейнере rserve).

Проверим, что ошибки регрессии нормально распределены (одна из предпосылок линейной регрессии, которые должны выполняться, чтобы мы могли считать модель адекватной). Выполним это графически, построив Q-Q график, или график Квантиль-Квантиль:

160  library(car)
161  qq <- qqPlot(model, labels = row.names(df), simulate = TRUE, main = "Q-Q plot")
162  print(qq)
163  dev.off()

 

На графике хорошо видно, что одно из наблюдений выпадает из доверительных границ (изображенных пунктирными линиями) — это т. н. «выброс», т. е. наблюдение, которое плохо предсказывается моделью.

 

Удаляем «выброс» и снова оцениваем модель:

165  # Удаляем "выброс"
166  df1 <- df[-c(12),]
167  
168  # Снова оцениваем модель
169  model1 <- lm(data=df1, prib~deb+kred)
170  paste(capture.output(print(summary(model1))), collapse='\n')

 

Как мы видим, после удаления «выброса» значимость коэффициентов при независимых переменных увеличилась и модель в целом стала лучше соответствовать данным (Multiple R-squared: 0.793).

 

Проверим выполнение всех остальных предпосылок линейной регрессии при помощи функции gvlma() из пакета gvlma.

173  library(gvlma)
174  gvmodel <- gvlma(model1)
175  paste(capture.output(print(summary(gvmodel))), collapse='\n')

 

 

Воспользуемся моделью для предсказания прибыли от продаж за три последующих квартала:

177  # Создаем таблицу с плановыми данными дебиторской и кредиторской задолженностей
178  # и приводим её к формату xts
179  q1_2018_plan <- data.frame(period="2018-03-31T23:59:59", deb=${deb_plan1}, kred=${kred_plan1})
180  q2_2018_plan <- data.frame(period="2018-06-30T23:59:59", deb=${deb_plan2}, kred=${kred_plan2})
181  q3_2018_plan <- data.frame(period="2018-09-30T23:59:59", deb=${deb_plan3}, kred=${kred_plan3})
182  plan_df <- rbind(q1_2018_plan, q2_2018_plan, q3_2018_plan)
183  plan_xts <- xts(plan_df[,-1], order.by=as.POSIXct(plan_df[,1]))
184  
185  # Предсказываем прибыль от продаж
186  predicted <- predict(model1, newdata=plan_xts, interval="prediction")

 

Предсказанные значения показателя, а также доверительные интервалы, выводим на интерактивный график:

191  # Объединяем все наборы данных
192  combined <- cbind(data_xts, plan_xts, predicted)
193  
194  # Строим новый график
195  graph1 <- dygraph(combined, width=750, height=350) %>%
196      dySeries("prib", label = "Прибыль", color="red") %>%
197      dySeries("deb", label = "Деб_зад", color = "blue") %>%
198      dySeries("kred", label = "Кред_зад", color = "green") %>%
199      dySeries("deb.1", label = "Деб_зад_план", color = "blue", strokePattern="dashed") %>%
200      dySeries("kred.1", label = "Кред_зад_план", color = "green", strokePattern="dashed") %>%
201      dySeries(c("lwr", "fit", "upr"), label = "Прибыль_прогноз", color = "red", strokePattern="dashed") %>%
202      dyEvent("2018-03-31", "Прогноз", labelLoc = "bottom", color="red", strokePattern="dotted") %>%
203      dyLegend(width = 300) %>%
204      dyOptions(drawPoints=TRUE, pointSize=2, drawAxesAtZero=TRUE, labelsKMB=TRUE) %>%
205      dyRangeSelector()
206  
207  # Создаем каталог для хранения файлов в точке монтирования /mnt/webapp-files,
208  # соответствующей каталогу файлов веб-приложения.
209  requestDir <- '/mnt/webapp-files/${resourceName}/${requestId}
210  dir.create(requestDir, recursive=TRUE)
211  
212  # Сохраняем виджет с новым графиком в каталоге для публикации
213  graphPath <- paste(requestDir, 'prib_predicted.html', sep='/')
214  saveWidget(graph1, file=graphPath, selfcontained = TRUE)

 

 

Подробнее о методах, используемых в данном примере:

  • Лысенко М.В., Лысенко Ю.В., Якушев А.А., Согрина Н.С. «Cтатистический анализ дебиторской и кредиторской задолженности при оперативном прогнозировании прибыли от продаж» // Фундаментальные исследования. – 2016. – № 12-4. – С. 884-890
  • Цикл видео-лекций Демешева Б.Б. по курсу Эконометрики
  • Кабаков Р.И. «R в действии. Анализ и визуализация данных в программе R» / пер. с англ. Полины А. Волковой. – М.: ДМК Пресс, 2014. – 588 с.: ил.

R импорт интеграция консолидация веб HTTP API сервис XML JSON визуализация диаграмма график анализ статистика

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    121545    670    389    

709

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7252    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3490    11    1    

33

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177716    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99330    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18095    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28081    3    10    

14

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23590    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. spezc 782 10.07.17 13:23 Сейчас в теме
Интересная работа. Но мне кажется среди адинесников мало спецов по R будет. А в конторах где есть собственные R-спецы уже имеются инструменты для контакта с базой 1С. Но это только имхо. Желаю удачи найти своего покупателя)
2. DataReducer 302 10.07.17 14:02 Сейчас в теме
(1) Спасибо за пожелания! Я, в своё время, открыл для себя R, когда искал решение нестандартной задачи объединения и анализа данных из нескольких разных источников, среди которых были и базы 1С. Оказалось, что средствами 1С эту задачу было решить довольно затруднительно, в то время как в R решение было найдено сравнительно легко. Так R и оказался в копилке моих инструментов, как 1C-ника. Для тех, кто раньше не имел дела с R, я, конечно, рекомендую установить и начать использовать IDE RStudio. Если кому-то из 1С-разработчиков язык R понравится также, как и мне, то, возможно, и моя разработка окажется полезной.
3. Steelvan 302 10.07.17 22:17 Сейчас в теме
Плюсанул чисто за "замене латинской буквы "R" на кириллическую "Р"".
Если бы логотип был с российским флагом, плюсанули бы еще несколько человек, уж постарался бы :)
4. DataReducer 302 10.07.17 22:26 Сейчас в теме
(3) Далее в предложении указано что символизирует это изменение, никакой политики. :) Кроме того, описание вносимых изменений требует лицензия Creative Commons.
5. McSim_ 12.07.17 17:54 Сейчас в теме
Взлетит?
Интересно, что на практике выйдет. Каков эффект.
На Питоне есть аналоги уже?
6. DataReducer 302 12.07.17 19:39 Сейчас в теме
(5) Эффект от использования программы сильно зависит от решаемой задачи. В некоторых случаях (пожалуй, в большинстве) программисту проще обойтись привычными инструментами. Но есть области, в которых R может оказать неоценимую помощь. Сложно назвать метод обработки или визуализации данных, который не поддерживался бы R. Но есть и обратный эффект - считается, что у R высокий порог вхождения, если сравнивать его с тем же Python.

Я должен отметить, что существуют инструменты для работы с R, обладающие более развитым функционалом, чем DataReducer Console. Самый известный из них - RStudio. Способов интеграции с 1С (как и с другими платформами) у R тоже масса. Например, существует пакет OData (cran.r-project.org/web/packages/OData/), который позволяет обращаться из R к данным информационных баз по тому же протоколу, который использует DataReducer Console.

Но DataReducer Console работает с данными 1С в терминах, знакомых каждому 1С-специалисту. Программа призвана облегчить решение задачи, которая перед вами стоит, если вы разбираетесь в структуре метаданных 1С, но, возможно, ранее не сталкивались с R.

DataReducer Console поможет и в том случае, если вы не хотите работать с "сырыми" данными OData или строить HTTP-запросы вручную.

Аналогов DataReducer Console, использующих Python (впрочем, как и использующих R), я не встречал. Если кто-то знает аналоги, прошу написать об этом в комментариях. На тему сравнения R и Python есть хорошая статья, перевод которой доступен по адресу habrahabr.ru/company/piter/blog/263457/ .

Всем, кто заинтересовался программой DataReducer Console, я предлагаю описать в комментариях свой кейс, и я постараюсь разобраться - насколько R и DataReducer Console в частности подходят (или не подходят) для решения вашей задачи. Для наиболее интересных задач я, возможно, приведу решение полностью.
RustIG; McSim_; shootnik; +3 Ответить
9. a.b.vorobjev 14.07.17 15:16 Сейчас в теме
(6) Если честно, аналогов не встречал. Для целей анализа организовывал экспорт данных (в csv), с которыми потом работал традиционными средствами R и Python. Пока хватало. Причиной отсутствия аналогов, думаю является то, что люди которым требуется анализ, и которые умеют его проводить - они уже знакомы с языками, инструментальными средствами и имеют навыки и привычку работы с ними. И им требуется лишь поток данных из произвольной среды (1С в частности).

Функциональным аналогом можно было бы считать средства анализа данных предлагаемые собственно 1С, но они не получили какого либо широкого использования (насколько мне известно). Хотя они достаточно неплохи.
DataReducer; +1 Ответить
10. DataReducer 302 14.07.17 17:32 Сейчас в теме
(9) Спасибо за комментарий!

Штатные средства 1С не сравнятся с R, но если для решения конкретной задачи их хватает, и речь идёт об анализе данных одной информационной базы, действительно, проще и лучше ограничиться ими. Задача усложняется, если таких баз несколько и их данные не консолидированы.

Если требуется провести единоразовое исследование, то выгрузка данных в удобочитаемый формат - лучший выбор. Но что если это нужно выполнять регулярно? Конечно, экспорт данных тоже можно автоматизировать. Но на мой взгляд, DataReducer Console предоставляет более удобное решение, которое, к тому же, не требует снятия конфигурации с поддержки.

Аудитория DataReducer Console - это, пожалуй, не опытные специалисты по Data Mining, а рядовые 1С-разработчики и аналитики. Безусловно, среди них R - не самое популярное программное средство. Я сам познакомился с ним почти случайно, когда столкнулся с задачей, выходящей за рамки моей обычной практики.

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

Также готовится клиент-серверная версия программы, позволяющая обращаться к результатам выполнения скриптов R по HTTP. После выхода этой версии цена на базовую версию будет снижена.
7. McSim_ 13.07.17 00:07 Сейчас в теме
Сам я столкнулся с тем, что клиенты не могут сформулировать задачу, так как не знают, что может ML.
Всё заканчивается банальными прогнозами временных рядов, типа уровня продаж. Добавлял погоду, естественно.
А можно было бы хотя бы номенклатурные пары в покупательской корзине рассчитывать. Что ещё? Очевидно, что на данном этапе задачи придётся ставить самим себе.
RustIG; DataReducer; +2 Ответить
8. DataReducer 302 13.07.17 15:01 Сейчас в теме
(7) К сожалению, это так. Формулировать задания программистам - это дело аналитиков и других специалистов предметной области. А они, привыкнув к доступным им методам анализа, обычно не ждут многого от программистов.

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

Но ситуации бывают, конечно, разные.
11. usd1001 01.05.18 10:53 Сейчас в теме
Мне очень понравилась программа Data Reduce Console. Удивительно, но делал все по инструкции и все заработало с первого раза. В своей дипломной работе описываю возможности программы и пытаюсь реализовать аналитический модуль. Единственное, что сразу было не понятно где находится консоль вывода результатов и графики. Вывод графики с помощью dev.off() нашел в инструкции, а как выводить результат на консоль искал весь день, хотел даже здесь спросить, но потом нашел в онлайн-руководстве . Конечно, R знаю поскольку постольку, но его надо изучать, потому что если его знать разработка существенно упрощается, а реализовывать готовые аналитические алгоритмы средствами 1С крайне не эффективно.
12. DataReducer 302 01.05.18 18:06 Сейчас в теме
(11) Рад, что программа оказалась полезной, и что не возникло существенных затруднений при её использовании. Желаю успешно выполнить и защитить дипломную работу!
13. ovadia 27.09.20 16:57 Сейчас в теме
Инструмент интересный. Я примерно лет 5 назад вплотную занимался анализом данных с помощью R. Хотел специализироваться в области Data Mining. Но что-то не пошло. В итоге стал разработчиком 1С. Однако, до сих пор не встречал задач, где могли бы пригодиться мои знания по R и вообще сам R. Специфика профессии и насущных задач, в областях 1С и R как-то не очень пересекаются.
Оставьте свое сообщение