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

04.05.18

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

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

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

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
DataReducer Console — версия для Windows 10 x64 (за SM)
.exe 61,28Mb ver:1.1.14
3 4 550 руб. Купить
DataReducer Console — версия для DEB-based Linux x64 (за SM)
.deb 67,20Mb ver:1.1.14
0 4 550 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Бесплатно
Файлы для развертывания Docker-сервисов
.zip 7,93Kb
11 Скачать бесплатно
Руководство пользователя DataReducer
.pdf 2,65Mb ver:2.2
35 Скачать бесплатно
Пример 1: Консолидация данных из разных источников и веб-отчеты
.xml 33,14Kb
10 Скачать бесплатно
Пример 2: Статистические функции языка R и HTML-виджеты
.xml 414,95Kb
9 Скачать бесплатно
Почему 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 визуализация диаграмма график анализ статистика

См. также

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

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

15500 руб.

02.09.2020    211846    1156    413    

1047

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    39926    219    113    

207

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

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

16000 руб.

10.11.2023    18676    78    39    

92

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

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

9500 руб.

17.05.2024    37303    135    55    

176

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    26290    65    30    

96

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше.<br/> Далее в публикации:<br/> MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    3315    6    9    

14

Инструментарий разработчика 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    3614    7    0    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. spezc 800 10.07.17 13:23 Сейчас в теме
Интересная работа. Но мне кажется среди адинесников мало спецов по R будет. А в конторах где есть собственные R-спецы уже имеются инструменты для контакта с базой 1С. Но это только имхо. Желаю удачи найти своего покупателя)
2. DataReducer 308 10.07.17 14:02 Сейчас в теме
(1) Спасибо за пожелания! Я, в своё время, открыл для себя R, когда искал решение нестандартной задачи объединения и анализа данных из нескольких разных источников, среди которых были и базы 1С. Оказалось, что средствами 1С эту задачу было решить довольно затруднительно, в то время как в R решение было найдено сравнительно легко. Так R и оказался в копилке моих инструментов, как 1C-ника. Для тех, кто раньше не имел дела с R, я, конечно, рекомендую установить и начать использовать IDE RStudio. Если кому-то из 1С-разработчиков язык R понравится также, как и мне, то, возможно, и моя разработка окажется полезной.
3. Steelvan 311 10.07.17 22:17 Сейчас в теме
Плюсанул чисто за "замене латинской буквы "R" на кириллическую "Р"".
Если бы логотип был с российским флагом, плюсанули бы еще несколько человек, уж постарался бы :)
4. DataReducer 308 10.07.17 22:26 Сейчас в теме
(3) Далее в предложении указано что символизирует это изменение, никакой политики. :) Кроме того, описание вносимых изменений требует лицензия Creative Commons.
5. McSim_ 12.07.17 17:54 Сейчас в теме
Взлетит?
Интересно, что на практике выйдет. Каков эффект.
На Питоне есть аналоги уже?
6. DataReducer 308 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 308 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 308 13.07.17 15:01 Сейчас в теме
(7) К сожалению, это так. Формулировать задания программистам - это дело аналитиков и других специалистов предметной области. А они, привыкнув к доступным им методам анализа, обычно не ждут многого от программистов.

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

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