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

1. user611061_igor_panshin 15.05.20 15:49 Сейчас в теме
Зачастую той отчетности, которую предлагает система 1С недостаточно, чтобы ответить на все маркетинговые вопросы и правильно понять тренды рынка. Для этого существует альтернатива множеству плоских отчетов – это многомерный анализ данных или «кубов». На эту тему написано достаточно много, поэтому данная статья не претендует на какую-либо новизну или новый результат.
Основная ее цель, скорее практическая, чем теоретическая, - это оптимизация и ускорение процесса проектирования кубов для данных, которые скопились в системах учета 1С, которая является фискальной системой учета в российской Федерации.
Как известно, метаданные 1С интуитивно понятны, так как используют сущности на русском языке. Но как только мы выходим за рамки 1С конфигуратора, мы сразу же теряем это семантическое преимущество и тратим много времени на обеспечение соответствия и правильной типизации полей таблиц на уровне SQL метаданных, XMLA и MDX. Большой ошибкой разработчиков являются любые попытки перемещения или репликации данных 1С в другую базу или создания копии базы 1С, что приводит к холостому использованию вычислительных ресурсов и большим затратам времени при обновлении куба. Предлагаемая методика разработки куба решает эти две выше перечисленные проблемы при помощи создания VIEW или представлений в отдельной базе CUBE, расположенной на том же сервере, что и база 1С.


На рисунке представлена схема выполнения работ по созданию куба, которая состоит из двух этапов.
1. На первом этапе выполняется автоматическое создание VIEW (представлений) в базе данных CUBE на основе разбора 1С метаданных (справочников, документов, их реквизитов и таблиц). Для этого написана обработка «СоздатьСтруктуруКуба», которая позволяет выбрать необходимые 1С объекты и создать их представления в базе CUBE на русском языке с конвертацией типов (binary) в формат с которым работает SSAS (SQL Server Analysis Services). Время данного этапа в пределах получаса. При этом никакие данные не перемещаются, а через созданные представления можно читать данные из 1С любыми другими приложениями, в частности из Visual Studio можно напрямую открыть «База данных служб Analysis Service» и указать базу CUBE в качестве источника данных, чтобы выбрать таблицы мер и измерений будущего куба.
2. На втором этапе основная работа выполняется в Visual Studio. Создается представление куба, в котором определяются связи между полями таблиц и ключевые поля. После этого строится сам куб с мерами и измерениями, выбираются атрибуты измерений и их иерархии. Если все правильно сделано, то можно выполнить обработку куба, которая окончится без ошибок. Окончание построения куба без ошибок зависит от целостности данных и их чистоты. Поэтому после третьего этапа построение куба придется повторить.
3. Очистка исходных данных. Поскольку было решено не трогать данные, то некоторую очистку данных придется выполнять, чтобы построить куб. Прежде всего это касается не до конца заполненных объектов, которые присутствуют в таблице мер куба.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VmvLer 15.05.20 16:31 Сейчас в теме
и где обработка «СоздатьСтруктуруКуба»?
где статистика и отзывы благодарных пользователей в массивной книге
"Жизнь до и после «СоздатьСтруктуруКуба»"?
где пошаговая инструкция "1, 2, 4, 5 - 1С ягодка опять"?


художника обидеть может каждый

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


Предлагаемая методика пока что просто куцая картинка и абзац субъективных размышлений.
4. user611061_igor_panshin 18.05.20 08:54 Сейчас в теме
Это статья и это ваше мнение об этой статье. Спасибо.
Уверяю Вас, что она основана на работающей материале. А по поводу "1С ягодка опять", готов утверждать, что создав в слое MSSQL метаданных русскоязычные наименования таблиц и полей, сложность конфигуратора уменьшилась бы на порядок. Правда, это касается серверного варианта только.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот