Сбор данных и получение отчетности: реальные задачи
По материалам компании "ПрограмБанк".
Задачи составления внутренней и внешней отчетности можно решать различными
способами — в том числе используя только Excel, покупая дорогостоящие программные
продукты западных производителей для построения хранилищ данных или разрабатывая
"самописные" приложения. У каждого из этих способов свои недостатки: большой
объем ручного труда пользователей, неудовлетворительное качество данных, высокая
стоимость лицензий или длительная разработка. В этой статье описывается решение
отечественных разработчиков — аналитический программный комплекс "Нострадамус"
компании "ПрограмБанк" (http://www.prbank.ru),
сочетающий умеренную стоимость с высокой автоматизацией разработки. "Нострадамус"
позволяет разрабатывать приложения для сбора и выверки данных, анализа, получения
отчетности, планирования и бюджетирования, предоставляя пользователям инструменты
для самостоятельной настройки системы там, где это необходимо. Гибкость системы
позволила внедрить ее в таких разных организациях, как, например, Московская
железная дорога (сейчас филиал РАО "РЖД") и ООО "Дойче Банк" (Москва).
В состав комплекса входит инструментарий для разработки структур хранилища данных, загрузки информации, сбора данных от подразделений, построения пользовательского интерфейса, получения отчетов, OLAP-анализа с возможностью расчета по задаваемым пользователем формульным методикам. Среди особенностей комплекса — централизованное администрирование, система разграничения доступа на уровне СУБД, открытость для интеграции с другими приложениями. Хранилище данных комплекса использует СУБД Oracle. Имеется также lite-версия продукта, работающая на бесплатной и практически не требующей администрирования СУБД Firebird ("наследник" известной в России системы Interbase); ее можно использовать на небольших предприятиях, а также для установки в удаленные подразделения в качестве "умного" клиента для сбора данных. В этой статье речь пойдет о применении "Нострадамуса" для задач сбора данных и собственно построения отчетности.
Сбор данных
При разработке инструментов сбора данных в "Нострадамусе" особое внимание уделялось корректности и согласованности собираемой информации, а также высокой скорости разработки и внедрения решений. Рассмотрим подробнее применение комплекса для решения типичных задач сбора данных.
Загрузка из внешних систем
Процесс загрузки данных из внешних систем, или процесс ETL (extraction-transformation-load), организован в "Нострадамусе" в шесть стадий (рис. 1):
1. Извлечение данных из внешних СУБД или файлов и размещение их во временном
хранилище. Для автоматизации этой стадии в комплексе предусмотрен инструмент
источников данных, с помощью которых легко настраивать подсоединение к внешним
СУБД, таким, как Oracle или Microsoft SQL Server, по протоколам OLE DB, ODBC
и dbExpress, загружать файлы форматов Excel, CSV и DBF. Предусмотрен также инструмент
разбора текстовых файлов на основе задаваемых разработчиком шаблонов.
2. Первичная автоматическая проверка данных. В рамках этой стадии контролируется
классифицированность значений, т. е. наличие заданных во внешней системе кодов
объектов (валюты, подразделения, счета и т. д.) в справочниках хранилища данных,
заполнение необходимых полей, отсутствие дублирования уникальных ключей и другие
ограничения. "Нострадамус" позволяет на основе настроек соответствия структур
источников и приемников данных (т. е. рабочих таблиц хранилища данных) автоматически
генерировать процедуру проверки для этой стадии, однако предусмотрена и возможность
задать на этой стадии дополнительную программную процедуру контроля данных.
3. Визуальный контроль данных пользователем. На этой стадии пользователь
или администратор системы просматривает загружаемые данные и результаты их проверки
на предыдущей стадии. Здесь он может корректировать загружаемые данные, пополнять
системные справочники, добавляя неклассифицированные значения, а также выборочно
помечать строки для загрузки. Эта стадия (в зависимости от настроек приемника
данных) может пропускаться либо присутствовать только при наличии ошибок на
предыдущей стадии.
4. Загрузка данных в хранилище. На этой стадии — на основе настроек
соответствия источников и приемников данных либо при помощи написанной вручную
процедуры — происходит преобразование и перекладка данных из временного хранилища
в постоянное или полупостоянное, в зависимости от характера данных, с замещением
или синхронизацией уже существующих записей.
5. Проверка данных. Хотя информация уже прошла первичный контроль, в
ней могут оставаться ошибки, которые выявляются только при помощи мощных отчетных
и аналитических средств. Компания "ПрограмБанк" рекомендует разработать специальные
технологические отчеты, посвященные исключительно разнообразным проверкам информации.
Отчеты должны быть направлены не только на проверку, но и на максимально быструю
и детальную локализацию ошибки: мало констатировать, что баланс не сходится,
надо еще и выдать список всех подозрительных проводок, которые могли его нарушить.
6. Утверждение информации. Эта стадия также необязательна, однако она
чрезвычайно полезна в тех случаях, когда может произойти повторная загрузка
одной и той же информации по мере ее изменения во внешнем источнике. Для обработки
этой ситуации в финансовом хранилище комплекса организовано хранение данных
в разрезе версий. При этом загрузка на четвертой стадии выполняется в "нулевую"
версию — полупостоянное хранилище, для которого тем не менее можно построить
все необходимые отчеты для максимально полной проверки данных. Перенос же данных
в одну из утвержденных версий осуществляется только после того, как пользователь
будет удовлетворен качеством данных.
Рис. 1. Схема загрузки данных из внешних систем.
|
Особенность "Нострадамуса" в том, что он обеспечивает высокую автоматизацию разработки на всех стадиях загрузки, причем инструменты для этого интегрированы в рамках одной программной системы. Хотя комплекс и допускает дописывание процедур вручную на каждой стадии загрузки, но благодаря постоянному развитию инструмента сейчас более чем в 70% случаев используется автоматическая генерация кода, за счет чего сокращается время на разработку процесса загрузки и упрощается администрирование. Например, в процессе разработки решения для получения финансовой отчетности по стандартам US GAAP для ООО "Дойче Банк" разработка и отладка интеграции данных из четырех различных информационных систем заняла всего около месяца.
Ручной и полуавтоматический ввод данных
Этот вид сбора данных до сих пор был плохо автоматизирован в западных инструментах, поскольку он считается нетехнологичным. Однако в российской практике такая функция совершенно необходима. Это диктуется отсутствием автоматизации части функций организации — необходимые данные часто учитываются средствами Microsoft Excel, и наиболее технологичным способом их сбора оказывается перенос через буфер обмена и ручной ввод. Кроме того, все более актуальным становится получение отчетности по международным стандартам, для чего необходима информация, отсутствующая в учетных системах, организованных по российским правилам бухучета.
Попытки собирать информацию непосредственно через Microsoft Excel обычно наталкиваются на ряд проблем, в числе которых предоставление данных в неверном формате; использование разных кодировок справочных данных и наименований контрагентов; неправильное понимание сотрудниками на местах того, какие данные от них требуются, и в результате несогласованность предоставляемых данных; наконец, полная неясность статуса процесса — кто из подразделений не предоставил данные, у кого какие ошибки и т. п. В результате сотрудники центрального подразделения, отвечающего за отчетность, тратят массу времени на проверку, запросы в подразделения и собственно интеграцию данных. Кроме того, отдел ИТ получает свою долю головной боли из-за нетехнологичного хранения данных.
Для решения этих проблем в состав "Нострадамуса" входит инструмент экспресс-таблиц. Они во многом аналогичны книгам Microsoft Excel, настройка их доступна не только программистам, но и непосредственно пользователям-"потребителям данных", однако при этом обеспечиваются возможности современной клиент-серверной системы (рис. 2). Прежде всего это механизмы проверки данных, позволяющие потребителям данных задавать контрольные соотношения, соблюдение которых будет проверяться при вводе данных пользователями-"поставщиками данных". Кроме того, экспресс-таблицы "навязывают" пользователю правильную классификацию данных согласно утвержденным справочникам. Имеются также средства импорта из Excel и текстовых файлов с возможностью автоматической перекодировки данных в случае, если во внешних источниках принята другая классификация, и последующего ручного обогащения данных. Как и при загрузке данных из внешних систем, при помощи экспресс-таблиц можно организовать версионное хранение собираемых данных с наличием "нулевой" и утвержденной версий; более того, здесь оно становится еще актуальнее. Важна также возможность построения отчетности о статусе процесса сбора данных — кто из подразделений предоставил информацию и какого качества.
Рис. 2. Схема ручного и полуавтоматического сбора данных. Серым цветом выделены элементы, возникающие при работе off-line.
|
Заметим, что все эти возможности позволяют в значительной степени снять контроль и ответственность за процесс с отдела ИТ и возложить его непосредственно на потребителей данных. Это означает, что работа отдела ИТ становится более прозрачной для пользователей и его сотрудники смогут сконцентрироваться на технических задачах, которые все равно будут ставиться пользователями.
Сбор данных с удаленных подразделений в режиме off-line
В крупных территориально распределенных организациях часто возникает необходимость сбора информации с удаленных подразделений в режиме off-line — как из-за недостаточного качества каналов связи, так и по соображениям удобства администрирования и обеспечения безопасности. Эту задачу часто усложняет "зоопарк" информационных систем, установленных в подразделениях, и необходимость ручного или полуавтоматического ввода данных. На этот случай в состав "Нострадамуса" входят такие средства, как сервер загрузки и lite-версия комплекса, которую можно использовать в качестве модуля сбора данных, устанавливаемого непосредственно в подразделениях.
Сервер загрузки позволяет в автоматическом режиме принимать файлы, приходящие от подразделений, проверять корректность их форматов, классифицированность значений и соблюдение условий контроля данных. При наличии ошибок в подразделения автоматически направляется журнал загрузки, который в понятном пользователю виде содержит всю информацию о найденных ошибках. Кроме того, сервер загрузки поддерживает версионное хранение данных и может формировать отчетность о статусе процесса сбора данных.
Хотя сервер загрузки можно использовать и в случае обмена файлами Microsoft Excel, наибольшая эффективность процесса достигается установкой в подразделения lite-версии "Нострадамуса" в качестве модуля сбора данных. Это обеспечивает удобство загрузки информации из учетных систем подразделений, возможность просмотра и использования правильным образом классифицированных справочников, упрощает ручной ввод в экспресс-таблицы с моментальной проверкой информации непосредственно в процессе ее введения. Кроме того, подразделения могут использовать lite-версию для получения собственной отчетности и проведения анализа. Обмен данными между "Нострадамусами" в центре и на местах не требует сложной настройки и программирования при помощи стандартного формата XML. А использование бесплатной и не требующей администрирования СУБД Firebird в lite-версии позволяет сократить издержки.
Получение отчетности
Хотя сбор данных и составляет большую часть работы по созданию отчетной системы, пользователя — бухгалтера, экономиста или аналитика — больше интересует собственно построение отчетности. "Нострадамус" позволяет строить любые требуемые формы отчетности, а входящее в его состав финансовое хранилище содержит готовые настройки для получения финансовой отчетности по международным стандартам и внутренней управленческой отчетности. Бухгалтеры оценят такие возможности, как построение отчетности от уровня проводок и путем консолидации готовых отчетных форм, ведение нескольких планов счетов с возможностью преобразования отчетности между ними, ввод и автоматическая генерация корректирующих проводок, аллокация расходов на центры финансового учета, задание формульных показателей и т. д. Здесь важно подчеркнуть, что все эти возможности реализованы в инструментарии "Нострадамуса" и открыты для изучения, модификации и расширения в рамках конкретных внедрений как специалистам компании "ПрограмБанк", так и ИТ-специалистам заказчика. Кроме того, значительная часть настроек доступна и для пользователей.
Представление данных разработчики также постарались сделать открытым для пользователя. Многие отчеты реализованы на базе многомерного представления информации, и пользователи могут их модифицировать по технологии OLAP. Для удобства формирования финансовой отчетности по международным стандартам реализован инструмент экспресс-отчетов, которые позволяют просто и быстро формировать отчеты путем задания формул и указания признаков оформления.
"Нострадамус" реализован как открытая система и может как импортировать данные, так и экспортировать их в другие системы. Любые отчеты, разработанные при помощи "Нострадамуса", можно получить в формате HTML и экспортировать в Excel (без потери форматов) и Word; существует также возможность экспорта информации в форматах XML и в виде текстовых файлов. Кроме того, "Нострадамус" легко интегрируется с приложениями, поддерживающими технологию OLE Automation. К примеру, эта возможность позволяет принимать и отправлять сообщения электронной почты, а также объединять несколько отчетов в единый файл Microsoft Word или PDF с финальным оформлением, пригодным для предоставления клиентам.
Вместо заключения
В последние годы экономическая обстановка и стандарты получения отчетности динамично менялись, и есть все основания полагать, что темпы этих изменений сохранятся и в будущем. В такой ситуации для ИТ-специалистов важно иметь в своем распоряжении инструмент, который позволит легко адаптироваться к меняющимся условиям. "Нострадамус" вполне способен справиться с такой задачей. Опыт внедрений компании-разработчика показывает, что комплекс действительно экономит время разработки. Так, вполне возможно получить работающий прототип решения через месяц после подписания технического задания и промышленную систему — через три-четыре месяца. А тот факт, что пользователи реально вовлечены в процесс подготовки отчетности, минимизирует организационные проблемы и обеспечивает реальную отдачу от автоматизации.