Консолидация и анализ данных
В процессе решения задач автоматизации нами был накоплен обширный опыт по созданию систем консолидации и анализа разнородной информацией.В качестве источников данных выступают сторонние базы данных, из которых производится импорт напрямую, и файлы разнообразных форматов, в том числе Excel.
Практически в каждом проекте в том или ином виде присутствует импорт данных в базу из Excel-шаблонов. Причем имеется в виду не только сохранение самих файлов в БД (это, как правило, тоже присутствует), но и разбор сложно структурированных документов и извлечение информации из ячеек самого файла. Кроме импорта, в наших проектах широко применяется экспорт в Excel.
Решая эти задачи, мы выработали стандартную технологию, которая позволяет нам добиваться поставленных результатов за приемлемые и, главное, прогнозируемые сроки. Все проекты успешно завершены и внедрены в промышленную эксплуатацию. Типичный проект имеет продолжительность 4-6 месяцев. Все проекты представляют собой веб-приложения, реализованные на связке ASP.NET и СУБД MS SQL Server.
В большинстве случаев шаблон является фиксированным (или варьирующимся в строго оговоренных рамках), и при импорте файл проверяется на строгое ему соответствие.
Фиксированный шаблон.
Это самый распространенный случай. Для реализации подобного импорта нами используется коммерческая библиотека FlexCell. Она представляет собой .NET библиотеку, которая поддерживает объектную модель Excel, позволяет работать с книгами, листами, ячейками, поддерживает форматирование данных. Основное преимущество этой библиотеки в том, что она позволяет работать в отсутствии самого MS Excel на компьютере.
Проекты, где используется фиксированный шаблон:
- Система учета и сопровождения Финансовых Меморандумов (ФМ) компании. Производился импорт из шаблонов ФМ. (Более 10 шаблонов)
- Система учета ежедневных данных по добыче, отчетность по добыче нефти. Производился импорт отчетов с добычей. (Более 20)
- Система учета и отслеживания финансовых обязательств по договорам компании, отчетность по финансовым обязательствам. Производился импорт информации из сторонней системы Kildrummy Cost Manager (2)
- Система статистического анализа отказов и состояний оборудования на нефтяных скважинах. Производился импорт информации об отказах, а также об осложнениях на скважинах, справочников. (5)
- Система учета договоров компании, отслеживание исполнения. Отчетность по исполнению договоров. Импорт справочников и договоров. (2)
- Система учета отказов трубопроводов. Отчетность по отказам. Импорт информации об отказах трубопроводов. (2)
Динамический шаблон.
В нескольких проектах был применен уникальный способ импорта данных из Excel-файлов. Шаблон этих данных имел динамическую структуру. Это позволяло менять наполнение БД без обращения к программистам при появлении новых данных.
Для каждого шаблона импорта создавался и регистрировался в Системе конфигурационный xml-файл. В этом файле описывалось каждое поле шаблона, его тип, допустимые интервалы значений и связь с полем в БД. А также местоположение этой новой колонки в Excel-шаблоне. Таким образом, при появлении новой колонки в Excel-шаблоне, менялся xml-конфигурационный файл и перезагружался в Систему. Система обнаруживала новую колонку в шаблоне, создавала новую колонку в БД и после этого была готова к импорту новых данных.
Подводя итоги, можно сделать вывод о наличии у Элемент 5 отработанной технологии, которая может считаться стандартом де-факто для решения подобного класса задач.


