ПРИЛОЖЕНИЕ 1. «Структура хранилища данных

advertisement
Министерство образования Республики Беларусь
Учреждение образования
«Гродненский государственный университет им. Янки Купалы»
Факультет математики и информатики
Кафедра информатики и вычислительной техники
КАШТЕЛЯН ДЕНИС ПЕТРОВИЧ
ИСПОЛЬЗОВАНИЕ СРЕДСТВ OLAPТЕХНОЛОГИЙ ДЛЯ ПОСТРОЕНИЯ СИСТЕМЫ
БИЗНЕС ИНТЕЛЛЕКТА ФАКУЛЬТЕТА
Дипломная работа
студента 5 курса
“Допустить к защите “
Зав. кафедрой ИВТ
__ ___________ 2008 г.
Научный руководитель
Кадан Александр Михайлович
заведующий кафедрой информатики
и вычислительной техники,
доцент, кандидат технических наук
Гродно 2008
2
РЕФЕРАТ
Дипломная работа, 94 с., 77 рис., 01 табл., 20 источников, 06 прил.
БИЗНЕС ИНТЕЛЛЕКТ, БАЗА ДАННЫХ, ХРАНИЛИЩЕ ДАННЫХ, МНОГОМЕРНАЯ БАЗА ДАННЫХ, OLAP, ИЗМЕРЕНИЕ, OLAP-КУБ, МЕРА, ОТЧЕТ,
MS SQL SERVER, REPORTING SERVICES, CRYSTAL REPORTS.
Целью дипломной работы являлось создание системы поддержки принятия
решений при управлении факультетом при работе с контингентом сотрудников
Гродненского государственного университета им. Янки Купалы.
Объект разработки – система на основе технологий бизнес интеллекта, анализа многомерных баз данных на платформе Microsoft SQL Server 2005 .NET Framework.
Система реализована как совокупность модулей: очистки и загрузки данных в
хранилище, формирования многомерного хранилища данных, обновления информации в хранилище данных по расписанию, формирования и доступа к выходным
документам, предназначенных для поддержки принятия решений руководителями
структурных подразделений вуза при работе с персоналом и студентами.
3
ОГЛАВЛЕНИЕ
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И ТЕРМИНОВ ...................................................5
ВВЕДЕНИЕ ....................................................................................................................................6
ЦЕЛИ И ЗАДАЧИ РАБОТЫ ........................................................................................................8
ГЛАВА 1. ОСНОВНЫЕ ПОЛОЖЕНИЯ ТЕХНОЛОГИЙ БИЗНЕС ИНТЕЛЛЕКТА .............9
1.1. Системы бизнес интеллекта ..............................................................................................9
1.1.1. Концепция хранилищ данных ....................................................................................9
1.1.2. Хранение данных в системах Бизнес Интеллекта ....................................................9
1.1.3. Технология комплексного и многомерного анализа..............................................10
1.2. Внутренние интерфейсы Microsoft SQL Server 2005 ....................................................11
1.3. Средства трансформации данных ...................................................................................12
1.3.1. Data Transformation Services (DTS) пакеты .........................................................12
1.3.2. Администрирование связанных серверов (Linked Servers) ...............................13
1.4. Средства анализа данных.................................................................................................14
1.5. Средства визуализации данных ......................................................................................15
Выводы .....................................................................................................................................16
ГЛАВА 2. ТЕХНОЛОГИИ ИНТЕРАКТИВНЫХ ИНФОРМАЦИОННЫХ ПАНЕЛЕЙ ......17
2.1. Microsoft Reporting Services .............................................................................................17
2.1.1. Управление отчетами ................................................................................................17
2.1.2. Пример использования..............................................................................................19
2.1.3. Преимущества и недостатки.....................................................................................22
2.2. Crystal Reports - технология генерации отчетности ......................................................23
2.2.1. Возможности Crystal Reports ....................................................................................23
2.2.2. Доступ к данным........................................................................................................24
2.2.3. Возможности форматирования и оформления .......................................................25
2.2.4. Просмотр и взаимодействие отчетов .......................................................................27
2.2.5. Пример использования..............................................................................................28
2.2.6. Интеграция приложений ...........................................................................................29
2.3. Crystal Reports for Microsoft Visual Studio .NET ............................................................30
Выводы .....................................................................................................................................33
ГЛАВА 3. МОДЕЛЬ СИСТЕМЫ ДЛЯ РАБОТЫ С ПЕРСОНАЛОМ ВУЗА ........................34
3.1. Контингент сотрудников и студентов в информационной картине факультета ........34
3.1.1. Источники формирования базы АСУ «Университет» ...........................................34
3.1.2. Возможности приложений АСУ «Университет» для работы с контингентом
сотрудников .........................................................................................................................35
3.1.2.1. Работа с кадрами .................................................................................................35
3.1.2.2. Распределение учебной нагрузки сотрудников ...............................................36
3.1.3. Работа с сотрудниками в системе www.asu.grsu.by ...............................................37
3.1.4. Проблемы корректности данных АСУ «Университет» .........................................38
Выводы .....................................................................................................................................39
ГЛАВА 4. РЕАЛИЗАЦИЯ КОМПОНЕНТОВ СИСТЕМЫ БИЗНЕС ИНТЕЛЛЕКТА .........40
4.1. Требования к системе Бизнес Интеллекта. Общая схема системы .............................40
4.2. Первичные данные системы Бизнес Интеллекта ..........................................................41
4.2.1. Данные отдела кадров ...............................................................................................41
4.2.2. Данные системы «Деканат»......................................................................................41
4.2.3. Данные системы «Профсоюзный комитет» ............................................................42
4.2.3.1. Общие сведения о системе ................................................................................42
4.2.3.2. Предпосылки реализации приложения ввода данных ....................................42
4.3.2.3. Реализация приложения для ввода информации в систему ...........................43
4.3. Реализация модуля очистки, загрузки и обновления данных ......................................43
4.3.1. Использование DTS-пакетов ....................................................................................44
4
4.3.1.1. Процесс реализации модуля очистки и загрузки ............................................46
4.3.1.2. Описание источника и приемника данных ......................................................46
4.3.1.3. Описание потоков данных и выполнения задач ..............................................47
4.3.1.4. Описание преобразования данных....................................................................47
4.3.1.5. Расписание выполнения DTS-пакета ................................................................48
4.3.2. Использование связанных серверов (Linked Servers) ............................................49
4.3.2.1. Связанный сервер ASU ......................................................................................49
4.3.2.2. Связанный сервер LS_PROFCOM ....................................................................50
4.4. Формирование многомерного хранилища данных .......................................................52
4.4.1. Создание измерений ..................................................................................................55
4.4.2. Формирование многомерных кубов ........................................................................57
4.4.3. Обновление многомерных представлений по расписанию ...................................59
4.5. Модуль формирования отчетности.................................................................................60
4.5.1. Реализация модуля создания документов с использованием Reporting Services 60
4.5.2. Публикация отчета Reporting Services .....................................................................61
4.5.3. Реализация модуля создания документов с использованием Crystal Reports......61
4.5.4. Публикация отчета Crystal Reports ..........................................................................65
4.5.5. Создание отчетов с помощью Office Web Components..........................................68
4.6. Модуль доступа к выходным документам .....................................................................70
Выводы .....................................................................................................................................70
ЗАКЛЮЧЕНИЕ............................................................................................................................71
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ....................................................................72
ПРИЛОЖЕНИЕ 1. «Структура хранилища данных»...............................................................73
ПРИЛОЖЕНИЕ 2. «Приложение работы с данными «Профсоюзный комитет» .................77
ПРИЛОЖЕНИЕ 3. «Измерения проекта» .................................................................................79
ПРИЛОЖЕНИЕ 4. «Структура кубов системы» ......................................................................82
ПРИЛОЖЕНИЕ 5. «WEB-приложение» ...................................................................................88
ПРИЛОЖЕНИЕ 6. «Примеры выходных документов» ...........................................................90
5
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И ТЕРМИНОВ
BI (Business Intelligence) – процесс, включающий в себя доступ и исследование информации, ее анализ, которые ведут к улучшенному и неформальному принятию
решений
OLAP (Online Analytical Processing) – инструменты оперативной аналитической обработки информации
АСУ – автоматизированная система управления
БД – база данных
СУБД – система управления базами данных
Data Warehouse – хранилище данных
Fact table – таблица фактов
Dimension table – таблица измерения
FASMI (Fast Analysis of Shared Multidimensional Information) – быстрый анализ разделяемой многомерной информации
Data Warehousing Framework – инфраструктура построения хранилищ данных Microsoft
DTS (Data Transformation Services) – службы преобразования данных
DSS (Decision Support Services) – сервисы поддержки принятия решений
OLAP-куб – многомерный куб данных
6
ВВЕДЕНИЕ
Ключевую роль в управлении компанией в целом и ее отдельными подразделениями
играет информация. Однако, данные, которые доступны менеджерам и аналитикам непосредственно из корпоративных информационных систем, не унифицированы, разрозненны и в общем случае не подготовлены для анализа. Системы Business Intelligence - это как
раз тот класс информационных систем, который позволяет превратить сырые данные в
полезную для бизнеса информацию и знания, используемые в управлении, на основе которых можно принимать решения.
Идея преобразования сырых данных в информацию востребована повсеместно, поэтому системы Business Intelligence абсолютно универсальны и применяются в различных
отраслях для решения широкого круга задач.
Технологиями Бизнес Интеллекта пользуются заказчики таких отраслей, как: банковская деятельность, розничная торговля, страхование, телекоммуникации и др.
Среди задач, для решения которых используются системы Business Intelligence:
 анализ продаж;
 управление складскими запасами;
 оперативное управление поставками продукции;
 анализ эффективности маркетинговых акций;
 мониторинг вывода продукта на рынок;
 ежедневный контроль денежных потоков;
 анализ истории платежной дисциплины кредиторов;
 разработка новых продуктов;
 расчет сложных показателей;
 и др.
Бизнес-интеллект включает [3]:
 процесс превращения данных в информацию и знания для поддержки принятия улучшенных и неформальных решений;
 информационные технологии (методы и средства) сбора данных, консолидации информации и обеспечения доступа пользователей к знаниям;
 аналитическую и управленческую отчетность. Наиболее распространенные,
универсальные и вместе с тем эффективные системы для получения информации на различных уровнях управления компанией. В отличие от стандартных систем отчетности включают в себя богатые возможности для построения запросов, создания отчетов, визуализации данных и простой обработки
полученных результатов непосредственно менеджерами и аналитиками, не
являющимися специалистами в области ИТ.
 оперативный анализ информации (OLAP). OLAP-системы предназначены для
менеджеров и аналитиков, которым требуется постоянное интерактивное взаимодействие с информацией.
 системы нетривиального анализа данных и получения знаний. В основе лежат
технологии Data Mining, которые могут использоваться для решения сложно
формализуемых задач, в том числе:
 прогнозирование
 возможность выявления мошенничества
 сегментацию клиентов
 оценку риска и принятие решений в кредитовании
 Анализ покупательской корзины
7
С использованием методов Бизнес Интеллекта можно разработать программные
приложения, которые станут мощным инструментом для разработки альтернативных вариантов действий, анализа последствий их применения и совершенствования навыков руководителя в столь важной области его деятельности как принятие решений [15].
На кафедре информатики и вычислительной техники ГрГУ уже несколько лет ведутся работы по формированию информационной картины факультета – сбору первичных
данных о работе факультета, их структуризации и публикации для обеспечения доступа к
их содержанию и результатам их анализа.
Существует множество видов анализируемой информации, важнейшими из которых
являются: данные об итогах экзаменационных сессий студентов, данные о текущей успеваемости студентов в процессе их учебы на факультете, данные о посещаемости студентов, статистические данные о студентах и преподавателях факультета и университета,
данные о нагрузке преподавателей факультета и университета в целом и т.д.
Все это определяет необходимость и важность разработки автоматизированной системы на основе современных технологий для поддержки процессов сбора, очистки,
структуризации, хранения, оперативного анализа и публикации данных о работе факультета.
Учитывая набор перечисленных выше требований, было принято решение о разработке системы на принципах технологий семейства «Business Intelligence» - средств анализа и обработки данных масштаба предприятия, которые позволяют эффективно решать
широкий круг задач обработки информации и управления.
Указанные возможности реализуются за счет использования методов и средств построения хранилищ данных, OLAP-технологий, которые реализованы в ряде программных
систем ведущих корпораций.
8
ЦЕЛИ И ЗАДАЧИ РАБОТЫ
Основной целью данной дипломной работы является создание системы поддержки
принятия решений при управлении факультетом на основе разнородных знаний о различных аспектах работы факультета, методов их получения, анализа и представления конечному пользователю. Систем подобного рода университеты Беларуси не имеют.
Основная гипотеза разработки и использования системы – интеграция разнородных
данных и новые формы их организации и представления – позволят не только получить
новые знания о предметной области, но и позволят пользователю самостоятельно производить поиск и анализ необходимой ему информации.
Реализация системы Бизнес Интеллекта предполагает решение следующих задач:
 организацию процессов сбора информации об аспектах работы факультета вуза;
 структурирование данных и разработка средств их первичного накопления;
 организацию очистки и загрузки первичных данных в общую базу системы;
 формирование хранилища данных, организация его пополнения информацией;
 формирование многомерных таблиц и исследование их средствами OLAP;
 создание системы доступа конечных пользователей к информации системы с использованием методов на основе Internet/Intranet-технологий;
 реализация модуля формирования и доступа к конечным документам посредством
возможностей служб Crystal Reports, Reporting Services, а также с помощью набора
средств Microsoft Office Web Components;
 обучение потенциальных пользователей системы Бизнес Интеллекта факультета –
работников деканата, заведующих кафедрами, преподавателей и сотрудников.
9
ГЛАВА 1. ОСНОВНЫЕ ПОЛОЖЕНИЯ ТЕХНОЛОГИЙ БИЗНЕС ИНТЕЛЛЕКТА
1.1. Системы бизнес интеллекта
В 2004 г. Business Intelligence и Хранилища данных впервые оказались в списке основных приоритетов директоров по информационным технологиям, который составляет
компания Gartner. Анализ основных бизнес-проблем 2005 г. показывает, что все они требуют большего доступа к данным: данным определенного качества и точности, данным на
корпоративном уровне в сравнении с данными отрасли, а также более мощной аналитики,
нацеленной на управление бизнесом на основе фактов. Business Intelligence уже не является синонимом отчетности, это теперь в полном смысле слова аналитика. Такая тенденция
способствует использованию данных и аналитики для снижения некоторой неопределенности, свойственной управлению любой крупной корпорацией [3].
1.1.1. Концепция хранилищ данных
Типичное хранилище данных, как правило, отличается от обычной реляционной
базы данных. Во-первых, обычные базы данных предназначены для того, чтобы помочь
пользователям выполнять повседневную работу, тогда как хранилища данных предназначены для принятия решений.
Во-вторых, структура и данные обычных баз данных подвержены постоянным изменениям в процессе работы пользователей, а в хранилище данные обычно обновляются
согласно расписанию (например, еженедельно). В идеале процесс пополнения представляет собой просто добавление новых данных за определенный период времени без изменения прежней информации, уже находящейся в хранилище.
И, в-третьих, обычные базы данных чаще всего являются источником данных, попадающих в хранилище.
Ральфом Кимбаллом (Ralph Kimball), одним из авторов концепции хранилищ данных, были сформулированы основные требования к хранилищам данных:
 поддержка высокой скорости получения данных из хранилища;
 поддержка внутренней непротиворечивости данных;
 возможность получения и сравнения так называемых срезов данных;
 наличие удобных утилит просмотра данных в хранилище;
 полнота и достоверность хранимых данных;
 поддержка качественного процесса пополнения данных.
Очень часто разрабатываемому BI-продукту не удается удовлетворять всем перечисленным требованиям. Поэтому для реализации хранилищ данных обычно используется
несколько продуктов, одни их которых представляют собой собственно средства хранения
данных, другие – средства их извлечения и просмотра, третьи – средства их пополнения и
т.д. [6]
1.1.2. Хранение данных в системах Бизнес Интеллекта
Типичная структура хранилища данных существенно отличается от структуры
обычной реляционной базы данных. Как правило, эта структура денормализована (это
позволяет повысить скорость выполнения запросов), поэтому может допускать избыточность данных. Основными составляющими структуры хранилищ данных являются таблица фактов (fact table) и таблицы измерений (dimension tables).
Таблица фактов
Таблица фактов является основной таблицей хранилища данных. Как правило, она
содержит сведения об объектах или событиях, совокупность которых будет в дальнейшем
анализироваться. В ней имеется уникальный составной ключ, объединяющий первичные
10
ключи таблиц измерений. При этом как ключевые, так и некоторые не ключевые поля
должны соответствовать будущим измерениям OLAP-куба. Помимо этого таблица фактов
содержит одно или несколько числовых полей, на основании которых в дальнейшем будут
получены агрегатные данные. Для многомерного анализа пригодны таблицы фактов, содержащие как можно более подробные данные.
Таблицы измерений
Таблицы измерений содержат неизменяемые либо редко изменяемые данные. В подавляющем большинстве случаев эти данные представляют собой по одной записи для
каждого члена нижнего уровня иерархии в измерении. Таблицы измерений также содержат как минимум одно описательное поле (обычно с именем члена измерения) и, как правило, целочисленное ключевое поле (обычно это суррогатный ключ) для однозначной
идентификации члена измерения. Если будущее измерение, основанное на данной таблице
измерений, содержит иерархию, то таблица измерений также может содержать поля, указывающие на «родителя» данного члена в этой иерархии.
Каждая таблица измерений должна находиться в отношении «один ко многим» с
таблицей фактов.
Одно измерение куба может содержаться как в одной таблице (в том числе и при
наличии нескольких уровней иерархии), так и в нескольких связанных таблицах, соответствующих различным уровням иерархии в измерении. Если каждое измерение содержится
в одной таблице, такая схема хранилища данных носит название «звезда» (star schema).
Если же хотя бы одно измерение содержится в нескольких связанных таблицах, такая схема хранилища данных носит название «снежинка» (snowflake schema). Дополнительные таблицы измерений в такой схеме, обычно соответствующие верхним уровням
иерархии измерения и находящиеся в соотношении «один ко многим» в главной таблице
измерений, соответствующей нижнему уровню иерархии, иногда называют консольными
таблицами (outrigger table).
Но даже при наличии иерархических измерений с целью повышения скорости выполнения запросов к хранилищу данных нередко предпочтение отдается схеме «звезда».
Как было отмечено выше, таблица измерений может содержать поля, не имеющие
отношения к иерархиям и представляющие собой просто дополнительные атрибуты членов измерений. Иногда такие атрибуты могут быть использованы при анализе данных
[10].
1.1.3. Технология комплексного и многомерного анализа
Системы Бизнес Интеллекта и поддержки принятия решений обычно обладают
средствами предоставления пользователю агрегатных данных для различных выборок из
исходного набора в удобном для восприятия и анализа виде. Как правило, такие агрегатные функции образуют многомерный (и, следовательно, нереляционный) набор данных
(нередко называемый гиперкубом или метакубом), оси которого содержат параметры, а
ячейки — зависящие от них агрегатные данные. Причем храниться такие данные могут и в
реляционных таблицах, но в данном случае речь идет о логической организации данных, а
не о физической реализации их хранения. Вдоль каждой оси данные могут быть организованы в виде иерархии, представляющей различные уровни их детализации. Благодаря такой модели данных пользователи могут формулировать сложные запросы, генерировать
отчеты, получать подмножества данных [17].
OLAP – это ключевой компонент организации хранилищ данных. Как было отмечено выше, концепция OLAP была описана в 1993 году Эдгаром Коддом, известным исследователем баз данных и автором реляционной модели данных. В 1995 году на основе
требований, изложенных Коддом, был сформулирован так называемый тест FASMI (Fast
Analysis of Shared Multidimensional Information — быстрый анализ разделяемой многомерной информации), включающий следующие требования к приложениям для многомерного
анализа:
11
предоставление пользователю результатов анализа за приемлемое время
(обычно не более 5 с), пусть даже ценой менее детального анализа;

возможность осуществления любого логического и статистического анализа,
характерного для данного приложения, и его сохранения в доступном для конечного пользователя виде;

многопользовательский доступ к данным с поддержкой соответствующих
механизмов блокировок и средств авторизованного доступа;

многомерное концептуальное представление данных, включая полную поддержку для иерархий и множественных иерархий (ключевое требование OLAP);

возможность обращаться к любой нужной информации независимо от ее
объема и места хранения.
Следует отметить, что OLAP-функциональность может быть реализована различными способами, начиная с простейших средств анализа данных в офисных приложениях
и заканчивая распределенными аналитическими системами, основанными на серверных
продуктах [8].
Конечной целью использования OLAP является анализ данных и представление результатов этого анализа в виде, удобном для восприятия и принятия решений. Основная
идея OLAP заключается в построении многомерных кубов, которые будут доступны для
пользовательских запросов. Исходные данные для построения OLAP-кубов обычно хранятся в хранилищах данных, концепция построения которых рассмотрена выше [1].

1.2. Внутренние интерфейсы Microsoft SQL Server 2005
Целью создания Data Warehouse Framework (инфраструктура построения хранилищ
данных Microsoft) является упрощение проектирования, реализации и администрирования
решений в области хранилищ данных за счет обеспечения таких возможностей как:

Открытая архитектура, легко интегрируемая с продуктами сторонних поставщиков и расширяемая ими.

Службы импорта, экспорта, контроля корректности и очистки гетерогенных
данных с возможностью фиксирования их происхождения.

Интегрированные метаданные, предназначенные для проектирования хранилища, извлечения и преобразования данных, администрирования серверов и аналитических инструментов конечных пользователей.

Базовые административные службы для планирования графиков работ, управления памятью, мониторинга производительности, использования механизмов предупреждений, событий и уведомления.
Архитектура Microsoft Data Warehousing Framework представляет собой план разработки и интеграции продуктов, базирующихся на платформе Microsoft (см. рис.1.2)
Рис.1.1. Архитектура Microsoft Data Warehousing Framework
12
Microsoft Data Warehousing Framework предназначена для обеспечения открытой
архитектуры, которую можно легко расширять, опираясь на технологию, имеющую статус
промышленного стандарта. Это позволяет организациям выбирать самые оптимальные
компоненты, оставаясь полностью уверенными в возможности их интеграции.
Серьезным аргументом в пользу выбора Microsoft Data Warehousing Framework
клиентами и независимыми поставщиками программного обеспечения является простота
использования. В рамках этой инфраструктуры Microsoft предоставляет объектноориентированный комплект компонентов, обеспечивающих управление информацией в
распределенной среде. Microsoft также предлагает разнообразные продукты, как начального уровня, так и самые совершенные, которые могут использоваться на многих шагах
процесса построения хранилища данных.
Data Warehousing Framework описывает связи между различными компонентами,
используемыми в процессе создания, использования и администрирования хранилища
данных. Ядром Microsoft Data Warehousing Framework является набор продуктивных технологий, включающий в себя уровень транспортировки данных (OLE DB) и интегрированный репозитарий метаданных. Эти две технологии обеспечивают интегрируемость
множества продуктов и инструментальных средств, используемых в процессе построения
хранилища данных [16]
1.3. Средства трансформации данных
1.3.1. Data Transformation Services (DTS) пакеты
Ввиду того, что данные, необходимые для создания того или иного хранилища
данных, обычно содержатся в оперативных базах данных, имеющих совсем иную организацию данных, то прежде чем воспользоваться этими данными в дальнейшем, необходимо предварительно преобразовать их с учетом той структуры, которая используется при построении хранилищ данных. В связи с этим Microsoft в SQL Server включила
прекрасные возможности и средства достижения этой цели – Data Transformation Services (DTS).
DTS - это набор служб SQL Server, предназначенных для организации импорта,
экспорта, преобразования данных и переноса их между любыми источниками, доступными через интерфейсы OLE DB. С их помощью можно копировать структуры данных и сами данные из одной базы данных в другую, создавать средства для переноса данных,
встроенные в приложения, а также пополнять хранилища данных из разнообразных источников (которые в общем случае вовсе не обязательно должны быть базами данных
SQL Server).
Для заполнения хранилища данных обычно требуется создать и выполнить так
называемый пакет DTS (DTS package), содержащий описание последовательности всех
действий, которые следует выполнить при переносе данных (включая преобразование типов данных, выполнение SQL-запросов и т.д.). Такой пакет можно выполнить с помощью
SQL Server Enterprise Manager или утилиты dtsrun, сохранить его в службах метаданных
(Meta Data Services; в прежних версиях SQL Server это хранилище называлось репозитарием) либо в виде структурированного файлового хранилища. Также возможно программное выполнение DTS-пакетов с помощью свойств и методов соответствующих объектов SQL DMO (Data Model Object) - для этого можно автоматически сгенерировать код
на языке Visual Basic. В SQL Server 2005 также поддерживается возможность сохранения
DTS-пакетов в формате XML. Кроме того, для того чтобы данные в хранилище соответствовали текущему или недавнему состоянию оперативной базы данных, можно создать
расписание, согласно которому будет автоматически выполняться данный пакет, выбрав
нужный режим обновления данных [19].
Таким образом, с учетом той структуры, которая присуща хранилищам данных,
данные из оперативных баз данных с помощью DTS переносятся с параллельным преоб-
13
разованием их в нужный формат в новую базу данных MS SQL Server 2005, которая и будет выполнять роль хранилища данных. При этом в этой базе обязательно должна храниться одна таблица фактов и несколько связанных с ней таблиц измерений.
Поскольку процесс создания хранилищ данных является итеративным по своей
природе, он требует регулярного перепроектирования в течение всего жизненного цикла приложения.
1.3.2. Администрирование связанных серверов (Linked Servers)
Помимо DTS пакетов, можно использовать администрирование связанных серверов (Linked Servers).
Смысл связанного сервера заключается в том, что мы можем обратиться к серверу,
который может находиться удаленно, например, на внешнем источнике данных, по имени
из нашего локального сервера, предварительно настроив его на определенное ссылочное
имя (alias). Этот внешний источник данных может являться базой данных Microsoft
Access, Oracle, Microsoft Excel или почти любым источником данных, который доступен
через OLE или ODBC, включая другие Microsoft SQL серверы.
С помощью связанного сервера имеется возможность создания достаточно прозрачные, удобные в использовании SQL-выражения, которые предоставляют возможность
доступа к внешней информации, выкачивания полезных данных, сопоставления, обновления и комбинирования с информацией, расположенной на локальном сервере (хранилище данных).
Пока хранение бизнес информации в одном месте (хранилище данных) является
достаточно удобным и выгодным, существует вероятность возникновения большого количества затруднений, таких как сопровождения аппликаций поставщиков, которые выполнены под специфическое хранилище данных. Объемы информации могут стать достаточно велики для одного сервера. Еще одной проблемой может стать защищенность авторскими правами, которые являются дорогостоящими, чтобы от них отказаться и поменять стандарты ведения бизнеса.
Менеджер репликаций позволяет относительно легко переносить данные из одного
SQL сервера в другой на основании систематического базиса. Тем не менее, копирование
информации на сервер приложений не всегда является очень хорошим решением. Если
источник велик, и мы не можем предсказать, какое подмножество информации нам будет
полезным и необходимым, тогда администрирование связанного сервера будет наилучшим решением для выхода из сложившейся ситуации.
Если множество информации очень объемно, то для повышения производительности целесообразно разделить данные на логические подмножества (части), и переместить
их на различные серверы. Тогда используя распределенные, расчлененные представления
можно использовать все подмножества (части) как единый источник информации. В таком случае, администрирование связанных серверов (Linked Servers Administration, LSA) –
как раз та технология, которая предоставляет такие возможности.
Если мы не являемся собственниками удаленной информации, и служба распределения прав не предоставит нам полноценного доступа к данным, тогда связанный сервер
будет недоступен. В таком случае необходимо получать, обмениваться и обновлять информацию, посредством различного рода расписаний и оповещений.
Если физический обмен информацией между нашим локальным SQL сервером и
удаленным источником информации идет очень медленно или не является надежным, то
не рекомендуется использовать администрирование связанных серверов, так как это скажется на работе всей системы в целом.
Связанные серверы (Linked servers) – это надмножество удаленных серверов. Удаленным серверам позволяется запускать хранимые процедуры на распределенных SQLсервер машинах. Поддержка удаленных серверов производится только при условии обратной совместимости. Новые приложения, которые должны выполнять хранимые проце-
14
дуры, вместо удаленных копий SQL-сервера, должны в данном случае использовать администрирование связанных серверов. Поддержка удаленных серверов может в будущем
быть прекращена. Вдобавок, удаленные серверы имеют только возможность выполнять
хранимые процедуры. Связанные же серверы позволяют не только выполнять хранимые
процедуры, но и нерегламентированные, незапланированные запросы (ad hoc queries) к
базе данных, в том числе и удаленной.
1.4. Средства анализа данных
Analysis Services, входящие в состав Microsoft Visual Studio 2005 .Net Framework,
представляют собой дальнейшее развитие серверных средств Microsoft SQL Server OLAP
Extensions. Помимо уже имеющихся средств построения хранилищ данных и OLAP, Analysis Services в Microsoft Visual Studio 2005 .Net включают в себя средства Data Mining, новые средства управления доступом к данным и безопасностью, новые клиентские утилиты
для построения и администрирования многомерных хранилищ и анализа данных, а также
предоставляют новые возможности для администрирования многомерных хранилищ, создания распределенных хранилищ данных, определения метаданных (например, размерностей).
Analysis Services состоит из двух основных компонентов - серверной части (OLAP
Server), и клиентского программного обеспечения под названием PivotTable Service. PivotTable Service предлагает клиентским приложениям, которые обычно размещаются на
компьютерах пользователей, два программных интерфейса: ADO MD и OLE DB for
OLAP. Как и у других приложений с двухуровневой архитектурой, к сильной стороне этих
интерфейсов в первую очередь следует отнести высокую производительность. Используя
эти интерфейсы, аналитические службы Analysis Services могут выполнять значительную
долю обработки и кэширования на клиентском компьютере, что позволяет снизить сетевой трафик и нагрузку на сервер.
Decision Support Services (сервисы поддержки принятия решений, DSS) – это
новое полнофункциональное OLAP-средство, предоставляемое в качестве компонента
Analysis Services в Microsoft Visual Studio 2005 .Net. Microsoft DSS имеет в составе (см.
рис.1.3) сервер промежуточного звена, позволяющий решать сложнейшие аналитические задачи на больших объемах данных. Второй компонент Microsoft DSS - это работающий в клиентской части механизм кэширования и вычислений PivotTable Service,
позволяющий повысить производительность и уменьшить сетевой трафик. Кроме того,
PivotTable Service предоставляет пользователям возможность проводить анализ даже
тогда, когда они отключены от корпоративной сети.
База
анализа
OLE DB
MS DSS
Server
OLE DB
For OLAP
Excel
и другие
клиенты
SQL Server
Рис. 1.2. Microsoft DSS - OLAP-сервер промежуточного звена, упрощающий
пользователям навигацию по данным и повышающий производительность запросов к
информации хранилища данных
В сочетании с широким выбором инструментов и приложений, поддерживающих
через интерфейс Microsoft OLE DB for OLAP решение прикладных задач на базе OLAP,
15
Microsoft DSS поможет расширить круг организаций, имеющих доступ к высокоразвитым инструментам анализа, и снизить затраты на построение хранилищ данных [1].
1.5. Средства визуализации данных
Одно из главных требований к аналитическим системам и системам поддержки
принятия решений – наглядность представления данных пользователю.
Суть OLAP - превращение огромных массивов данных, не поддающихся осмыслению, в стройную и ясную информацию, предоставляющую пользователю четкую картину
бизнеса.
Поэтому диаграммы и графики являются неотъемлемой частью OLAPинтерфейсов, а в некоторых случаях – главным способом визуализации данных.
В отличие от всех прочих информационных систем, диаграммы в OLAP не статичны, а интерактивны. Пользователь, манипулируя измерениями, меняет представление
данных в диаграммах, получая десятки их разновидностей в процессе исследования информации.
Вторая особенность диаграмм в OLAP - многомерность.
Системы визуализации OLAP-данных, предназначенные для OLAP-анализа в Интернет, локальной сети, на персональном компьютере, работают с данными, предварительно сохраненными в многомерный локальный куб, и показывают эти данные в виде
динамической таблицы и синхронной с ней диаграммы [21].
Отображение многомерного гиперкуба в трехмерном пространстве
Слово «гиперкуб» означает, что у этого куба может быть не 3, а 5, или 10 измерений. Представить и изобразить такой куб в рамках 3-х мерного пространства, ограниченного высотой, шириной и глубиной, невозможно.
Основной метод показа содержимого гиперкуба – показ нескольких последовательностей (series) на одном графике. Каждая последовательность закрашивается отдельным цветом. Группа последовательностей представляет собой значение одного 4-го измерения.
Например, для показа объемов продаж в разрезе времени и городов применяется
следующий метод: по вертикали отображается сумма, по горизонтали время, а «в глубину» - города. Реально на плоскости диаграммы рисуется разными цветами: столько диаграмм, сколько есть городов. Соответствие цвета и города показывается в специальной
таблице - легенде.
Итак, диаграмма может отобразить одновременно не более 2-х измерений и одного
факта.
В случае если нужно показать несколько фактов, их показывают «в глубину», и для
измерений остается только одна ось. Таким образом, если отображается более одного факта, то в диаграмме остается не более одного измерения [18].
Синхронность с таблицей
Как правило, диаграмма работает синхронно с OLAP-таблицей. Поворот таблицы
приводит к повороту диаграммы - изменению расположения измерений по осям, фильтрация таблицы - к фильтрации диаграммы. Это придает OLAP-интерфейсу особую динамичность и «живость».
Иногда наоборот удобно пользоваться собственными инструментами преобразования диаграммы, не меняя таблицы. Например, быстрое выключение элементов измерения
позволяет исключить из графика лишнее и провести экспресс-анализ зависимостей, при
этом в таблице остаются доступными все данные.
16
Выводы
Важно заметить, что типичное хранилище данных, как правило, отличается от
обычной реляционной базы данных, так как обычные базы данных предназначены для того, чтобы помочь пользователям выполнять повседневную работу, тогда как хранилища
данных предназначены для принятия решений. Структура и данные обычных баз данных
подвержены постоянным изменениям в процессе работы пользователей, а в хранилище
данные обычно обновляются согласно расписанию (например, еженедельно). Обычные
базы данных чаще всего являются источником данных, попадающих в хранилище.
Суть OLAP - превращение огромных массивов данных, не поддающихся осмыслению, в стройную и ясную информацию, предоставляющую пользователю четкую картину
бизнеса. Поэтому диаграммы и графики являются неотъемлемой частью OLAPинтерфейсов, а в некоторых случаях – главным способом визуализации данных. В отличие
от всех прочих информационных систем, диаграммы в OLAP не статичны, а интерактивны. Пользователь, манипулируя измерениями, меняет представление данных в диаграммах, получая десятки их разновидностей в процессе исследования информации. Вторая
особенность диаграмм в OLAP - многомерность.
Системы визуализации OLAP-данных, предназначенные для OLAP-анализа в Интернет, локальной сети, на персональном компьютере, работают с данными, предварительно сохраненными в многомерный локальный куб, и показывают эти данные в виде
динамической таблицы и синхронной с ней диаграммы.
Следует отметить, что OLAP-функциональность может быть реализована различными способами, начиная с простейших средств анализа данных в офисных приложениях
и заканчивая распределенными аналитическими системами, основанными на серверных
продуктах. Конечной целью использования OLAP является анализ данных и представление результатов этого анализа в виде, удобном для восприятия и принятия решений. Основная идея OLAP заключается в построении многомерных кубов, которые будут доступны для пользовательских запросов. Исходные данные для построения OLAP-кубов обычно хранятся в хранилищах данных, концепция построения которых рассмотрена выше.
Таким образом, с учетом той структуры, которая присуща хранилищам данных,
данные из оперативных баз данных с помощью DTS переносятся с параллельным преобразованием их в нужный формат в новую базу данных MS SQL Server 2005, которая и будет выполнять роль хранилища данных. При этом в этой базе обязательно должна храниться одна таблица фактов и несколько связанных с ней таблиц измерений.
Поскольку процесс создания хранилищ данных является итеративным по своей
природе, он требует регулярного перепроектирования в течение всего жизненного цикла приложения.
Следует добавить, что связанные серверы (Linked servers) – это надмножество удаленных серверов. Удаленным серверам позволяется запускать хранимые процедуры на
распределенных SQL-сервер машинах. Поддержка удаленных серверов производится
только при условии обратной совместимости. Новые приложения, которые должны выполнять хранимые процедуры, вместо удаленных копий SQL-сервера, должны в данном
случае использовать администрирование связанных серверов.
Analysis Services, входящие в состав Microsoft Visual Studio 2005 .Net Framework,
представляют собой дальнейшее развитие серверных средств Microsoft SQL Server OLAP
Extensions. Помимо уже имеющихся средств построения хранилищ данных и OLAP, Analysis Services в Microsoft Visual Studio 2005 .Net включают в себя средства Data Mining, новые средства управления доступом к данным и безопасностью, новые клиентские утилиты
для построения и администрирования многомерных хранилищ и анализа данных, а также
предоставляют новые возможности для администрирования многомерных хранилищ, создания распределенных хранилищ данных, определения метаданных (например, размерностей).
17
ГЛАВА 2. ТЕХНОЛОГИИ ИНТЕРАКТИВНЫХ ИНФОРМАЦИОННЫХ ПАНЕЛЕЙ
Современные приложения предоставляют множество способов доступа к интересующей пользователя информации. Для работы с данными разрабатываются специализированные программы. Обычные офисные средства, такие, как Microsoft Office, содержат
интегрированные возможности для извлечения данных. В конечном счете, всегда можно
попросить администратора извлечь из базы данных ту информацию, которая в данный
момент необходима пользователю.
Тем не менее, наиболее распространенным и привычным способом работы с разнообразной информацией остается традиционная отчетная форма. С одной стороны, многие
пользователи, особенно старшего поколения, все еще не находят в себе сил отказаться от
стандартной бумажной формы представления отчета. С другой стороны, отчет - это,
прежде всего, средство консолидации информации, зачастую различной специфики.
Требование предоставить отчетную функциональность часто фигурирует при разработке современных программных продуктов. В конечном счете, все это привело к тому,
что рынок оказался буквально наводнен как компонентами для надстройки приложений
средствами поддержки отчетов, такими, как инструментарий Databeacon, так и довольно
мощными продуктами, поддерживающими цикл управления отчетами, где в числе лидеров следует назвать широко известные продукты Business Objects.
Подобные средства есть и в составе Microsoft Visual Studio .NET (VS.NET). Одно из
них, называемое Crystal Reports for Microsoft Visual Studio .NET (CRVS), - это разработка
Business Objects и поставляется по схеме лицензирования. Другое средство, Microsoft
Reporting Services (MSRS), представляет собой полноценную платформу, базирующуюся
на СУБД Microsoft SQL Server.
2.1. Microsoft Reporting Services
Основу множества программных систем составляет ядро, предназначенное для
хранения данных. Использование в его качестве промышленной СУБД обеспечивает будущей системе надежный фундамент, неотъемлемую часть успешной разработки. Этот
подход - построение продукта вокруг СУБД - и лег в основу разработки Microsoft Reporting Services (MSRS).
Любой из серверных продуктов, выпускаемых самой Microsoft, нуждается в отчетной функциональности, которую ранее было принято брать из первых оказавшихся под
рукой средств. Мы помним отчеты в формате HTML, выгрузку данных в Excel и Word. В
подобных условиях не может быть и речи не только о единой службе - поставщике любых
типов отчетов, но и о консолидации содержащихся в них данных.
Осознание этой проблемы привело к тому, что в январе 2004 г. состоялся выпуск
платформы для управления отчетами MSRS. В середине 2004 г. платформа получила первый пакет обновлений. В настоящий момент MSRS интегрируется с такими продуктами,
как Microsoft CRM 1.2, Exchange Server 2003 и Operations Manager 2005 [4].
2.1.1. Управление отчетами
Главная задача MSRS - обеспечить комплексный подход к управлению отчетами и
поддержку всего жизненного цикла отчетов (рис. 2.1), включающего создание отчетов,
управление ими и доставку отчетов.
18
Рис. 2.1. Архитектура платформы Microsoft Reporting Services.
Как видно из рис. 2.1, в ядре MSRS находятся следующие службы:
 извлечение информации из источников;
 обработка данных и формирование отчета;
 доставка отчета;
 поддержка интегрированной безопасности.
Создание отчета, как и в случае CRVS, начинается с подготовки шаблона размещения
данных на странице отчета. Для подготовки шаблона используется «Дизайнер отчетов»
(Report Designer). Данный инструмент тесно интегрирован с VS.NET и инсталлируется
при установке компонентов MSRS. Результатом его работы становится файл шаблона отчета с расширением .rdl, содержащий описание структуры будущего отчета на XMLориентированном языке Report Definition Language.
Кроме размещения данных, в шаблоне отчета описывается связь с источниками данных, такими, как SQL Server 7.0 и 2000, SQL Server 2000 Analysis Services, Oracle, а также
любыми источниками OLE DB и ODBC.
«Дизайнер отчетов» позволяет создать будущий шаблон за три шага:
 определение источников данных;
 размещение данных из источников на различных листах отчета;
 предварительный просмотр будущего отчета.
Особенно удобна функция предварительного просмотра, позволяющая видеть будущий отчет и исправлять допущенные в процессе создания недочеты. Следует также отметить, что шаблон отчета может принимать информацию, на основании которой формируется содержимое отчета. Это свойство позволяет реализовать параметризованные отчеты.
После создания шаблона для формирования итогового отчета следует использовать
«Менеджер отчетов» (Report Manager). Согласно представленной ранее схеме службы
MSRS, данный компонент взаимодействует с сервером отчетов, выполняющим всю работу по извлечению данных и формированию результатов. «Менеджер отчетов» имеет Webориентированный интерфейс, позволяющий выполнять следующие операции:
 помещать шаблон отчета на сервер;
 управлять иерархией размещения отчетов;
 формировать выбранный пользователем отчет;
19
разграничивать доступ к отдельным отчетам, каталогам отчетов, а также источникам данных (используется ролевая модель, базирующаяся на интегрированной безопасности Windows);
 определять методику доставки отчета потребителям («подписку»).
«Менеджер отчетов» умеет представлять данные своего интерфейса в HTMLформате, а также конвертировать в файлы PDF, XLS, XML, CSV и популярные графические форматы.
Как же быть с традиционными Windows-приложениями? В настоящий момент
Microsoft предлагает решение, основанное на внедрении в Windows-приложения управляющего элемента ActiveX для просмотра Web; доступ к данным организован посредством
получения HTML от того же «Менеджера отчетов». Пример реализации такого приложения включен в поставку MSRS.
Из достоинств MSRS отметим, что продукт поддерживает процесс получения отчетов
пользователями системы. MSRS успешно используется как в специализированных проектах, нацеленных на предоставление отчетной функциональности, так и там, где пользователь, владеющий VS.NET, хочет иметь возможность самостоятельно конструировать отчеты.
У продукта, разумеется, есть и недостатки. Например, тесная интеграция с SQL
Server, выступающим в качестве хранилища отчетов, не позволяет применять MSRS там,
где данная СУБД отсутствует либо ее использование не планируется. Другой существенный минус - недоступность редактора шаблонов отчетов в отсутствие VS.NET. Это не дает возможности пользователям будущей системы создавать и редактировать шаблоны отчетов. Для решения этой проблемы можно разработать свой редактор, формирующий
XML-описание шаблона отчета. Некоторые из производителей, например, Cizer Software,
уже воспользовались этим.
Безусловный недостаток MSRS - Web-ориентированность «Менеджера отчетов», а
также отсутствие полноценного управляющего элемента для отображения отчетов в
Windows-приложениях. Решение этой проблемы заложено в архитектуру MSRS в виде доступа к серверу отчетов при помощи технологии Web-сервисов. Как обещает Microsoft,
такое средство должно появиться в выходящем в этом году Microsoft SQL Server 2005.
Среди небольших проблем следует также отметить отсутствие экспорта отчета в
формат RTF и DOC, отсутствие возможности печати HTML-представления отчета, а также
невозможность локализации интерфейса «Менеджера отчетов». Хочется надеяться, что
данные проблемы будут решены в будущих версиях и пакетах обновления.
Тем не менее, MSRS обладает хорошей расширяемостью, что, наряду с тем фактом,
что продукт полностью разработан с использованием .NET Framework, делает его весьма
универсальным и удобным в использовании [4].

2.1.2. Пример использования
Прежде всего, создадим шаблон отчета, воспользовавшись VS.NET и «Дизайнером
отчетов» (Report Designer). Для этого укажем источник данных для будущего отчета (рис.
2.2). Затем с помощью вкладки Data «Дизайнера отчетов» укажем процедуру для извлечения информации, выполняющую всю логику формирования готовой для отображения
структуры данных (рис. 2.3).
20
Рис. 2.2. Указание источника данных для отчета.
Рис. 2.3. Выбор процедуры извлечения информации в «Дизайнере отчетов».
На левой панели можно увидеть поля структуры данных, которую возвращает процедура EmployeesAnalystQueryProc. Эти поля служат основой для связывания данных с их
размещением на странице отчета. Следует отметить - и это демонстрирует раскрывающийся список - что источником данных может быть не только процедура.
После этого мы получаем возможность конструировать структуру отчета на базе
информации, предоставляемой процедурой EmployeesAnalystQueryProc. Для этого служит
вкладка Layout «Дизайнера отчетов» (рис. 2.4). При конструировании шаблона отчета мы
пользуемся панелью инструментов, содержащей элементы управления для отображения
данных в отчете. Как видно из рис. 2.4, среди них есть такие «кубики», как Image (Изображение), List (Список) и т. п. В процессе конструирования обязательно нужно связать
элементы отчета с полями структуры данных, которую возвращает процедура
EmployeesAnalystQueryProc.
21
Рис. 2.4. Размещение данных на странице отчета.
В процессе создания шаблона отчета можно удобно и быстро посмотреть на то, что
получается. Для этого существует вкладка Preview (рис. 2.5). В связи с тем, что данный
отчет является параметризированным, в верхней части видна панель настройки параметров, передаваемых отчету. При нажатии на клавишу View Report на этой панели отчет заполняется данными, и в нижней части окна VS.NET появляется внешний вид будущего
отчета.
Рис. 2.5. Предварительный просмотр отчета.
В результате выполненных действий мы получаем шаблон отчета для формирования итогового отчета. Шаблон следует поместить на сервер отчетов. Это можно сделать
22
при помощи команды Upload file, воспользовавшись «Менеджером отчетов», либо, что
гораздо проще, с помощью контекстного меню и команды Deploy VS.NET (рис. 2.6).
Рис. 2.6. Развертывание отчета.
После этой операции шаблон отчета помещается на сервер отчетов, и теперь можно
увидеть готовый отчет, содержащий данные, выбрав его в «Менеджере отчетов» (рис. 2.7).
Обратите внимание на панель навигации, которая выводится в верхней части страницы
отчета. Эта панель позволяет организовать постраничный просмотр отчета и (с помощью
команды Select a format в раскрывающемся списке) преобразовать отчет в любой из представленных форматов данных.
Рис.2.7. Вид готового отчета.
2.1.3. Преимущества и недостатки
23
Прежде всего отметим, что предлагаемые рекомендации основаны на функциональных особенностях каждого из продуктов, а также на опыте их использования.
MSRS подходит для проектов, в которых либо уже используется Microsoft SQL
Server, либо существует возможность его задействовать. MSRS предоставляет разработчику максимум возможностей для поддержки всего цикла управления отчетами. Можно
уверенно утверждать, что MSRS в качестве основы таких проектов обеспечит надежную
базу для разработки отчетной функциональности приложения. Кроме этого, в будущем
пользователи смогут получить удобную возможность разработки собственных отчетов, а
также поддержку создания на основе MSRS отчетов для других приложений.
Не стоит забывать о недостатках MSRS. Если вам нужен «Дизайнер отчетов» и вы
не можете позволить себе обучать сотрудников работе с VS.NET, то следует обратить
внимание на рынок компонентов других производителей.
Если большая часть объема функциональности вашего приложения - это работа с
разными по своей структуре отчетами, и при этом данные для них годятся MSRS в качестве источника, то можно уверенно констатировать, что вам и будущим пользователям
приложения сильно повезло. Кроме полноценной отчетной системы, в качестве бесплатного бонуса они получают достаточно универсальное средство для конвертирования отчетов в широкий спектр форматов [4].
С другой стороны, если вы не можете позволить себе Microsoft SQL Server и, как
следствие, MSRS, следует обратить внимание на возможности CRVS. Быть может, вашему
приложению, не слишком сложному с точки зрения управления жизненным циклом отчетов, будет достаточно встроенной поддержки отчетной функциональности.
2.2. Crystal Reports - технология генерации отчетности
2.2.1. Возможности Crystal Reports
Crystal Reports - генератор отчетов на основе информации в БД с возможностью их
распространения в Web. Crystal Reports – мировой лидер среди генераторов отчетов, основные возможности которого: доступ почти к любым данным и динамическое форматирование информации; интеграция результатов в веб-приложения и приложения для
Windows; расширение возможностей конечных пользователей в области просмотра, взаимодействия и создания отчетов.
Решение Crystal Reports для .NET доступно как тесно интегрированная функциональная возможность в средах разработки Microsoft Visual Studio .NET и Borland C#Builder и
является устанавливаемой по умолчанию частью этих систем.
Crystal Reports для .NET предоставляет разработчикам быстрый и высокопродуктивный способ создания и интеграции в свои приложения интерактивных отчетов презентационного качества с возможностью масштабирования в соответствии с требованиями конечных пользователей. Использование Crystal Reports для .NET как части этих ведущих
интегрированных сред разработки позволяет:
 легко создавать отчеты для ОС Windows, среды Web и приложений, использующих
XML Web-службы;
 доставлять динамичные, графические отчеты в средах нулевого или многофункционального клиента;
 экономить время и оптимизировать код при работе с существующими отчетами,
созданными в Crystal Reports, а также за счет использования уже имеющихся знаний о проектировании отчетов в текущих .NET-проектах.
Редакции Developer и Advanced Developer продукта Crystal Reports 10 - многофункциональные обновления пакетных версий Crystal Reports для технологии .NET, поставляемые вместе с Visual Studio .NET и Borland C#Builder. В 10-ой версии Crystal Reports создание отчетов для .NET-приложений поднимается на качественного новый уровень, что до-
24
стигается с помощью самой передовой технологии быстрого проектирования отчетов и
усовершенствованной web-интеграции. В обновление до версии 10 входит:
 Расширенная поддержка средств экспорта и печати из Web-браузера. Печать,
экспорт, или доступ к некоторым функциям Crystal Reports прямо из Web-браузера
с использованием новых кнопок быстрой печати и быстрого экспорта в Crystal
Reports или новый «тонкий» клиент (компонент ActiveX контроля печати).
 Дополнительные источники данных. Подключение почти к любым данным,
включая корпоративные источники данных (Oracle, IBM DB2, Sybase, Informix),
XML, собственных провайдеров данных JavaBeans и COM, ODBC, OLE DB, ADO
.NET.
 Дополнительные форматы экспорта. Экспорт в популярные форматы данных,
включая Adobe PDF, Microsoft Excel, Microsoft Word, XML, Lotus, text/CSV.
 Crystal Reports для мобильных устройств. Доставка новых или существующих
компонентов отчета на беспроводные устройства, включая WML-телефоны и
устройства RIM Blackberry и Compaq iPAQ. Нет необходимости заново создавать
отчеты специально для беспроводных сред и порталов.
 Настраиваемый предварительный просмотр отчетов во время проектирования. Предварительный просмотр отчетов из проектировщика для более быстрого и
точного создания отчетов.
 Увеличение возможностей по проектированию и форматированию отчетов.
Мощные средства проектирования и форматирования отчетов включают в себя
Format Painter для быстрого форматирования, Formula Workshop, модули создания
диаграмм Gantt и Gauge, настраиваемую инструментальную панель для создания
Web-форм, работу с географическими картами и OLAP-отчеты.
 Многократное использование компонентов для ускорения проектирования
отчетов. Ускоренное проектирование отчетов за счет хранения ключевых объектов
отчета - включая текстовые объекты, команды SQL, растровые изображения и собственные функции - в центральной библиотеке. Для оперативной поддержки и проектирования отчетов объекты можно использовать многократно, совместно или
централизованно обновлять. Собственные функции помогают избегать создания
излишних формул за счет отделения бизнес-логики из формул для использования в
других отчетах.
 Усовершенствованная обработка наборов данных. Увеличена производительность обработки при сокращении объема используемой памяти.
 Упрощенное развертывание. Улучшенные модули слияния обеспечивают оперативность развертки приложений.
 Автономный проектировщик отчетов. Разработка приложений и проектирование
отчетов разделены, чтобы упростить поддержку отчетов и ускорить разработку
приложений [2].
2.2.2. Доступ к данным
Crystal Reports обеспечивает широкие возможности использования разнообразных источников данных, облегчая доступ к источникам корпоративной информации и удовлетворяя информационные запросы конечных пользователей. Если необходим доступ к базам данных, файлам, журналам, системным приложениям (CRM, ERP и т.д.) или программным элементам, всегда можно использовать Crystal Reports.
 Свыше 35 драйверов данных. Доступ к информации практически в любых форматах, включая собственный интерфейс, а также подключение с помощью ODBC,
OLE DB и к различным источникам данных: реляционным, OLAP, XML, наследуемым и корпоративным системам. Такими источниками данных могут быть СУБД
Oracle, IBM DB2, Sybase, Microsoft SQL Server и Informix.
25





Настраиваемые данные. Доступ к определенным пользователем (в памяти) прикладным данным путем подключения к поставщикам данных JavaBeans, ADO.NET
и COM.
Полный контроль над подключениями к базам данных. Создайте собственные
команды SQL или используйте проверенные возможности генерации запросов,
имеющиеся в Crystal Reports, для гибкого контроля над подключениями к базам
данных.
Доступ к источникам разнородных данных. Подключение к уникальным источникам данных или комбинирование данных из разнородных источников в одном
отчете.
Поддержка XML. Интеграция Crystal Reports с приложениями B2B или B2C благодаря доступу к данным или их экспорту с помощью XML.
Поддержка Unicode. Используйте строки в формате Unicode для отображения хранимых данных на любых языках, а также добавления информации на нескольких
языках в один отчет [2].
2.2.3. Возможности форматирования и оформления
Crystal Reports предлагает высокий уровень гибкости и контроля над методами предоставления и форматирования данных.
Визуальный проектировщик отчетов. При быстром интерактивном проектировании отчетов используется интуитивно понятный интерфейс перетаскивания (drag-and-drop) и
объектно-ориентированные проводники.
Эксперты и мастера. Используйте возможности экспертов и мастеров для упрощения
стандартных задач создания отчетов, таких, как связь с источниками данных, выбор,
группировка, сортировка и окончательная обработка информации.
Поддержка всех типов отчетов. Позволяет создавать практически любые требуемые отчеты, используя возможность включения матричных отчетов, условных операторов, специальную сортировку групп (Top N/Bottom N), итоговые значения и иерархическую детализацию данных, формы, адреса электронной почты, OLAP и подотчеты.
Составление диаграмм и схем. Дает возможность улучшить внешний вид создаваемых
отчетов, используя графические элементы из большого списка доступных таблиц и диаграмм различных типов (включая панели инструментов, в том числе объемные; секторные/тороидальные, линейные, круговые диаграммы и диаграммы Ганта; шкалы, диаграммы двумерного разброса, линейные таблицы, таблицы плотности растровых точек и другие); показывая различные варианты визуального представления данных (см. рис.2.8. – на
примере Dashboard).
26
Рис.2.8. Варианты представления панелей показателей (Dashboard)
Многократно используемые объекты отчетов. Позволяет ускорить процесс проектирования отчетов, благодаря сохранению их ключевых элементов, включая тексты, команды
SQL, растровые изображения и функции пользователя (формулы) в централизованно
управляемой библиотеке (поставляемой в составе Crystal Enterprise). Таким образом достигается совместное повторное использование и централизованное обновление взаимосвязанных отчетов.
Настраиваемые шаблоны. Сокращается время форматирования отдельных отчетов.
Можно разрабатывать и применять настраиваемые шаблоны в соответствии с собственными требованиями к форматированию и логике, включая операции доступа к данным,
для гарантированной согласованности между создаваемыми отчетами. Можно также использовать существующие отчеты в качестве шаблонов.
Мощный язык формул. Можно использовать содержащийся в Crystal Reports богатый
язык формул с более чем 160 встроенными и определяемыми пользователем функциями и
операторами для исчерпывающего контроля над форматированием отчетов, сложной логикой обработки и отбора данных. Благодаря стеку вызовов упрощается отладка ошибок,
возникающих на уровне данных. Также в программу включены экстрактор формул и среда работы с формулами (Formula Workshop).
Рис 2.9. Среда работы с формулами (Formula Workshop)
27
Настраиваемые функции. Устраняется избыточность при создании формул. Бизнеслогику можно извлечь из формул, создав настраиваемые функции, которые затем использовать в различных отчетах.
Несимметричное создание отчетов. Обеспечивается возможность настраиваемого просмотра таблиц OLAP. Благодаря асимметричному созданию отчетов можно скрыть отдельные измерения данных таким образом, чтобы конечный пользователь получал только
наиболее важную и ценную для него информацию.
Дополнительные модули для Access и Excel. Используется интуитивно понятный мастер
для упрощения добавления в отчеты информации из Microsoft Access или Excel.
2.2.4. Просмотр и взаимодействие отчетов
Crystal Reports предлагает настраиваемые параметры, разрешающие конечному пользователю выполнять просмотр и взаимодействие с информацией в привычных форматах и
конфигурациях.
Экспорт в различные форматы. Конечному пользователю предоставляются отчеты в
привычном для него формате. Отчеты могут быть экспортированы во многие популярные
форматы, включая Excel, PDF, XML, HTML, RTF и другие.
Настраиваемые программы просмотра отчетов. Возможен выбор между различными
серверными и клиентскими программами просмотра отчетов, включая средство просмотра
DHTML-страниц (WebForms), средство просмотра .NET (WinForms), средство просмотра
Java, средство просмотра ActiveX и Report Part (для мобильных устройств), позволяющие
создавать отчеты в различных выходных форматах без дополнительного перекодирования. Интерактивные возможности отчета конечного пользователя, включая перелистывание страниц вперед/назад, повышение/понижение уровня иерархической детализации,
экспорт и печать, добавляются автоматически и могут быть настроены в соответствии с
предъявляемыми требованиями.
Параметры. Пользователи имеют возможность просмотра одних и тех же данных различными путями, не создавая для этого несколько отчетов. Конечный пользователь может
выбрать заданные параметры в отдельном отчете, чтобы получить выборку затребованных
данных.
Предупреждения. Выделение конкретной информации для конечного пользователя –
определяемые им сообщения, отображающиеся при совпадении некоторых условий применительно к данным в отчете. Эта функция должна быть использована совместно с
Crystal Enterprise, чтобы предупреждения могли пересылаться конечному пользователю с
прямыми ссылками на оригинал отчета.
Управляемая навигация. Возможно определение конкретных путей перемещения между
объектами одного или различных отчетов для облегчения навигации конечного пользователя.
Гиперссылки. Гиперссылки используются для связи отчетов с родственными документами, включая веб-сайты и другие отчеты, которые тем самым преобразовываются в интерактивные веб-документы.
Иерархическое развертывание (Drill Down). Отчеты, позволяющие конечным пользователям переходить вниз по иерархии реляционных и OLAP-данных для обнаружения деталей, которые в противном случае могли бы остаться незамеченными, можно создавать, не
применяя дополнительных программных кодов.
Элементы отчета. Возможность перенастройки существующих отчетов для использования с беспроводными устройствами и корпоративными порталами. Это обеспечивает конечному пользователю доступ к диаграммам, итоговым таблицам, конкретным записям и
другой ключевой информации через информационные порталы, телефоны WML, RIM
Blackberry и устройства Compaq iPAQ.
28
Поддержка смарт-тегов Microsoft Office XP. Позволяет выполнить вставку ключевых
объектов отчетов, включая диаграммы и таблицы, в Outlook, Word или Excel, с возможностью немедленного просмотра и обновления данных из любого документа Office.
2.2.5. Пример использования
В качестве примера посмотрим, во что обойдется реализация простого отчета, содержащего одну таблицу. Представим себе, что существует база данных Microsoft SQL
Server, содержащая данные о текущем уровне технических знаний персонала. Для каждого сотрудника в базе хранится список технологий, которыми он владеет, а также уровень
владения ими. Уровень владения отражается с помощью одной из двух оценок: самооценки (данной сотрудником самому себе) и «оценки 360», полученной в результате опроса
людей, работающих совместно с этим сотрудником.
Оценки сотрудников можно разделить на пять основных типов (в порядке убывания
знаний):
 эксперт в данном вопросе - консультирует своих коллег;
 есть опыт использования - владеет технологией, использует ее в работе;
 есть знания, достаточные для использования, - хорошее знакомство с технологией;
 знаком - знакомство с технологией, понимание того, что она собой представляет;
 не знаком - отсутствие знакомства с технологией.
Задача состоит в следующем: руководителю предприятия необходимо узнать, кто из
сотрудников лучше всего знаком с Microsoft Project - широко известным продуктом для
планирования. Список сотрудников нужно отсортировать в порядке убывания знаний.
Для упрощения задачи используем режим Push Model, т. е. в качестве отправной
точки возьмем готовую структуру данных (DataSet) [2].
Создание отчета начинается с подготовки его шаблона. Для этого воспользуемся
«Дизайнером отчетов» (рис. 2.10). Чтобы получить связь с данными в источнике, следует
импортировать структуру данных в шаблон отчета. После этого в левой верхней панели
мы увидим структуру, а также набор полей, который в нее входит. Размещая поля на странице отчета, мы связываем данные в источнике с их размещением в шаблоне отчета. Для
конструирования сложных отчетов можно использовать элементы управления, расположенные на левой нижней панели.
Рис. 2.10. Создание отчета при помощи «Дизайнера отчетов» Crystal Reports.
29
В результате работы «Дизайнера отчетов» получается файл с расширением .rpt, содержащий созданный дизайн шаблона отчета. Для отображения отчета следует включить
в состав приложения программу просмотра, называемую CrystalReportViewer и находящуюся в пространстве имен CrystalDecisions.Web - для Web-приложений и
CrystalDecisions.Windows.Forms - для Windows-приложений.
Затем необходимо выполнить несколько простых действий:
 создать программное представление отчета на основании его шаблона
(ReportDocument);
 заполнить данными структуру DataSet и передать ее ReportDocument с помощью
метода SetDataSource;
 отобразить отчет в программе просмотра (выполняется это с помощью указания
свойству ReportSource объекта ReportDocument).
При отображении отчета обозреватель использует компоненты CRVS, структуру данных и шаблон для отображения готового отчета (рис. 2.11).
Рис. 2.11. Вид готового отчета (вариант для Web-приложения).
2.2.6. Интеграция приложений
Crystal Reports предоставляет ряд необходимых компонентов для Java, .NET и COMтехнологий, которые помогают понизить сложность интеграции функций динамического
создания отчетов в приложениях пользователей. Если необходимо создание веб-сервисов
Windows и XML, а также мобильных приложений, то применение Crystal Reports удовлетворит всем требованиям в отношении представления данных.
Инструментальные средства разработчика (SDK). Универсальный интерфейс комплекта разработчика объектов Crystal Reports в приложениях J2EE, .NET и COM обеспечивает
гибкий контроль над взаимодействием конечного пользователя с отчетами. Возможен выбор из различных программ просмотра отчетов, создание и модификация программного
интерфейса приложений (API) для внедрения ряда интерактивных возможностей: от ста-
30
тической обработки/просмотра отчетов до сложного алгоритма формирования и модификации отчета во время его выполнения.
Компоненты создания отчетов. Для эффективной обработки и представления отчетов
пользователи имеют возможность встроить в приложения мощные компоненты создания
отчетов на основе Java, .NET и COM-технологий, содержащиеся в Crystal Reports.
Настраиваемая библиотека тегов. Сокращается объем программных кодов, требуемых
для внедрения шаблонов отчетов на страницы JSP. Используя настраиваемые теги JSP,
легче добавлять настраиваемое средство просмотра в веб-приложения. При этом кардинально сокращается объем требуемых работ по кодированию.
Настраиваемые средства просмотра отчетов. Возможен выбор между различными серверными и клиентскими программами просмотра отчетов, включая средство просмотра
страниц DHTML (веб-форм), средства просмотра Java, WinForms, ActiveX и Report Part
(для мобильных устройств), которые позволяют создавать отчеты в различных выходных
форматах без дополнительного перекодирования. Автоматически добавляются интерактивные возможности отчетов конечного пользователя, включая перелистывание страниц
вперед/назад, переход вверх/вниз по иерархии, экспорт и печать. Кроме того, реализована
возможность настройки и внедрения большинства функций программы просмотра, исходя
из требований пользователя.
Интеграция IDE. Возможна компоновка версии Crystal Reports исходя из потребностей
конкретного пользователя с учетом используемых им ведущих сред разработки Java и
.NET для интеграции отчетов с привычным для пользователя окружением. В настоящее
время доступ к технологии Crystal Reports имеется из Microsoft Visual Studio .NET, BEA
WebLogic Workshop, Borland JBuilder и Borland C#Builder. Возможен переход из этих пакетов к Crystal Reports 10 для приобретения дополнительной функциональности и масштабируемости.
Библиотека визуального контроля. Возможность интегрировать отчеты в приложения
Delphi и C++Builder, используя библиотеку визуального контроля (VCL) Crystal Reports.
Бесплатное использование созданных программ. Возможность интеграции сотен исполняемых свойств, методов и событий в приложения «толстых» клиентов, без дополнительной оплаты.
Сообщество Developer Zone. Объединение с Developer Zone, эксклюзивное сообщество
разработчиков Crystal Reports, поможет быстрее преодолеть встречающиеся на пути препятствия. Возможность доступа к образцам приложений, загрузке информационных статей, а также сборников полезных советов и маленьких хитростей для получения максимального эффекта от Crystal Reports [2].
2.3. Crystal Reports for Microsoft Visual Studio .NET
История связи продуктов Crystal Decisions со средствами разработки Microsoft ведет свое начало с 1993 г. Именно тогда компоненты Crystal Reports впервые появились в
Visual Basic 3.0. С 1996 г. ПО Crystal Reports входит в состав пакета средств разработки
Visual Studio, а в 2002 г. стало частью VS.NET и .NET Framework, получив при этом официальное название CRVS. Появление компонентов Crystal Reports было отмечено в
VS.NET 2003.
Основное назначение компонентов CRVS - поддержка разработки отчетной функциональности приложения. Предполагается, что в соответствии с требованиями будет
разработан специализированный шаблон отчета - файл с расширением .rpt, задающий размещение данных на странице отчета (рис. 2.12). Кроме того, шаблон указывает, какие
структуры данных служат источником для данных отчета. В дальнейшем шаблон передается на вход компонентам CRVS, которые извлекают данные из источника и на их основании формируют структуру итогового отчета. Для отображения отчета служит специаль-
31
ная программа просмотра (viewer), которая встраивается в разрабатываемое приложение
(поддерживаются как Web-, так и Windows-приложения).
Рис. 2.12. Архитектура Crystal Reports for Microsoft Visual Studio .NET.
Фактически процесс разработки сводится к вызову нескольких строчек кода, большая же часть работы выполняется при помощи «Дизайнера отчетов», встроенного в
VS.NET. Таким образом, для создания шаблона отчета не нужно уметь программировать
на платформе Microsoft .NET (MS.NET). При желании шаблон отчета можно включить в
состав приложения, предоставив возможность его изменять. Это весьма удобно, так как в
этом случае процедуру сопровождения разработанного приложения всегда можно поручить инженеру по внедрению [2].
Как говорилось выше, компоненты CRVS можно использовать для разработки как
Web-ориентированных, так и обычных Windows-приложений, называемых в последнее
время модным словом «умные» (smart) приложения. С точки зрения работы с данными
компоненты Crystal Reports можно использовать в двух режимах работы - Push Model и
Pull Model.
Push Model - модель работы с промежуточной структурой данных. При этом данные для отчетов формируются в виде привычной для .NET Framework структуры данных,
называемой DataSet. Приложение берет на себя всю логику подготовки входных данных
для построения отчетов. Это удобно тем, что данные могут быть сформированы абсолютно любым способом, а не только за счет прямого доступа к источнику данных. Тем не менее, если отчет получается достаточно большим, приходится заполнять довольно громоздкую структуру.
Pull Model - запрос данных по требованию. В этом случае шаблон отчета, передаваемый компонентам Crystal Reports, берет на себя работу, связанную с извлечением данных
из источника. Данный подход весьма эффективен для отображения многостраничных отчетов, так как при этом из источника извлекаются только данные для отображаемых страниц.
Кроме формирования и отображения отчета, компоненты CRVS поддерживают
экспорт полученных данных в форматы PDF, HTML, XLS, RTF и DOC, который может
выполняться программно, что позволяет полностью скрыть использование приложением
компонентов Crystal Reports. В этом случае приложение может создавать необходимые
файлы отчетов прямо в каталоге файловой системы. Это очень удобно для пакетного режима создания файлов отчетов, когда пользователю нужно сформировать группу отчетов
без их предварительного просмотра для последующей передачи результатов заинтересованным лицам.
Отметим вкратце достоинства и недостатки CRVS. Несомненное достоинство состоит в тесной интеграции как с .NET Framework, так и с VS.NET, что позволяет разра-
32
ботчику приложения создавать отчет, не отрываясь от средств разработки. Решения на основе компонентов CRVS неплохо масштабируются, поскольку это свойство заложено в
архитектуру как Crystal Reports, так и Microsoft .NET. Не вызывает трудностей реализация
сложных и интерактивных отчетов, коль скоро «кубики» для их создания, такие, как интерактивные управляющие элементы, уже присутствуют в CRVS.
Относительный недостаток данного продукта - тщательно скрываемая его производителем реализация ядра компонентов на предыдущем поколении технологий Microsoft
(он разработан с использованием Win32 и языка C++). Классы .NET, «оборачивающие»
вызовы библиотек динамической загрузки, делают программное использование Crystal
Reports достаточно простым. Однако работающий в ядре неуправляемый (unmanaged) код
может привести к нестандартным инфраструктурным проблемам, таким, как конкурирование динамической сборки мусора в платформе .NET и традиционного алгоритма работы
с памятью. Двигаясь по пути решения этой проблемы, производитель начал постепенный
переход на платформу .NET, выпустив в рамках версии 1.1 (поставляемой в составе
VS.NET 2003) компоненты, неуправляемый код которых помещен прямо в сборки .NET.
Эта модификация должна, по крайней мере, упростить процедуру развертывания, позволяя переносить с приложением, использующим компоненты Crystal Reports, только сборки
.NET. Ожидается, что полный переход CRVS на платформу .NET будет завершен в версии
2.7, которая, вполне вероятно, войдет в состав VS.NET 2005.
Несмотря на то, что архитектура компонентов CRVS позволяет организовать сценарий многоуровневого распределения процессов формирования итогового отчета, все же
данный продукт не подходит для организации всего цикла управления отчетами. Для решения этой задачи предназначена платформа MSRS.
Тесная интеграция помогает разработчикам увеличить производительность и сократить время разработки приложений.
Компания Business Objects объявила, что теперь Crystal Reports выпускается в комплекте с Microsoft Visual Studio 2005 Professional Edition. Специальная версия системы отчетности Crystal Reports от Business Objects по умолчанию входит в состав пакета установки Visual Studio 2005 Professional Edition.
Разработчики программного обеспечения (ПО) постоянно находятся в поиске способов повышения производительности и сокращения времени, требуемого для разработки
приложений. Объединение Visual Studio 2005 и Crystal Reports позволяет решить обе задачи. Специальный выпуск Crystal Reports в составе Visual Studio 2005 позволяет создавать
интерактивные отчеты для корпоративных веб-ориентированных и смарт-клиентских
приложений, не покидая при этом среду Visual Studio. В результате организации, использующие среду разработки Visual Studio 2005 или приложения, созданные с ее помощью,
получают возможность упростить управление бизнес-процессами для повышения эффективности своей работы.
Crystal Reports полностью использует преимущества новых возможностей Visual
Studio 2005, включая смарт-тэги, повторное использование элементов кода и развертывание одним нажатием кнопки мыши. Такой уровень интеграции обеспечивает гладкую работу пользователя и позволяет существенно повысить производительность разработчика.
В интересах клиентов Microsoft, нуждающихся в обновлении своих продуктов до новой
версии Visual Studio, разработчики имеют возможность импортировать существующую
версию Crystal Reports напрямую в Visual Studio 2005, что позволяет использовать результаты предыдущей работы. Кроме того, простым нажатием правой кнопки мыши, пользователи могут представлять свои отчеты в виде веб-сервисов, что делает их доступными
для использования из любой среды разработки приложений.
«Поставляя Crystal Reports в составе Visual Studio 2005, мы помогаем пользователям защитить их инвестиции в существующие проекты, продолжая при этом представлять
разнообразные возможности для реализации новых проектов, - говорит С. Сомейсгер (S.
Somasegar), вице-президент корпорации и глава отдела разработок компании Microsoft. -
33
Объединение Crystal Reports с Visual Studio 2005 предоставляет всем клиентам возможность преобразования накопленных данных в полезную информацию, которую затем
можно использовать в процессе принятия решений [14].
Слишком много приложений до сих пор создается без учета практического значения накапливаемых данных, и, при этом, слишком много информации располагается в самом приложении. Объединение возможностей Visual Studio 2005 и Crystal Reports позволяет разработчикам учесть способ использования информации, предоставляя пользователям инструментарий для доступа и работы с данными. Crystal Reports позволяет компаниям, использующим средства Visual Studio, легко идентифицировать данные и представлять их в доступной для пользователя форме. Более того, помимо возможности формирования отчетов непосредственно в Visual Studio 2005 и использования преимуществ тесной
интеграции данных в SQL Server 2005, пользователи могут получать необходимую информацию из приложений, созданных на базе Microsoft .NET Framework [12].
Помимо этого, Business Intelligence-решения Business Objects обеспечивают интеграцию с Microsoft SQL Server 2005, Microsoft Office SharePoint Portal Server 2003,
Microsoft Office Editions 2003 и Microsoft Business Solutions, предоставляя компаниям
средства для мониторинга и интерпретации данных, а также управления бизнесом. Crystal
Reports обеспечивает полную поддержку баз данных и репозитария SQL Server 2005, а
также позволяет использовать преимущества некоторых возможностей, предлагаемых в
новой версии SQL Server [20].
Выводы
Таким образом, если большая часть объема функциональности вашего приложения
– это работа с разными по своей структуре отчетами, и при этом данные для них годятся
Microsoft Reporting Services в качестве источника, то можно уверенно констатировать, что
кроме полноценной отчетной системы, в качестве дополнительного преимущества использование Microsoft Reporting Services предоставляет достаточно универсальное средство для конвертирования отчетов в широкий спектр форматов.
Кроме того, Crystal Reports полностью использует преимущества новых возможностей Visual Studio 2005, включая смарт-тэги, повторное использование элементов кода и
развертывание одним нажатием кнопки мыши. Такой уровень интеграции обеспечивает
гладкую работу пользователя и позволяет существенно повысить производительность
разработчика. В интересах клиентов Microsoft, нуждающихся в обновлении своих продуктов до новой версии Visual Studio, разработчики имеют возможность импортировать существующую версию Crystal Reports напрямую в Visual Studio 2005, что позволяет использовать результаты предыдущей работы. Кроме того, простым нажатием правой кнопки мыши, пользователи могут представлять свои отчеты в виде веб-сервисов, что делает
их доступными для использования из любой среды разработки приложений.
Помимо этого, компоненты Crystal Reports for Visual Studio можно использовать
для разработки как Web-ориентированных, так и обычных Windows-приложений, так
называемых «smart»-приложений. Используя данное средство формирования отчетов, интегрированное непосредственно в Visual Studio 2005, пользователи получают единое решение для создания и интеграции средств отчетности в корпоративные приложения в целях оптимизации бизнес-процессов. Интеграция Crystal Reports с Visual Studio 2005 позволяет без труда расширить использование бизнес-аналитики и добиться максимального
возврата инвестиций в информационные технологии.
Резюмируя, следует сказать, что и Microsoft Reporting Services, и Crystal Reports for
Visual Studio не только содержат средства для табличного представления данных, но и
поддерживают реализацию интерактивных отчетов. Стоит упомянуть о том, что Crystal
Reports позволяет организовать взаимодействие с помощью актуальной технологии Webслужб, а Microsoft Reporting Services имеет расширяемую программную модель.
34
ГЛАВА 3. МОДЕЛЬ СИСТЕМЫ ДЛЯ РАБОТЫ С ПЕРСОНАЛОМ ВУЗА
3.1. Контингент сотрудников и студентов в информационной картине
факультета
В Гродненском государственном университете им. Я. Купалы, как и в любом другом учреждении образования, ведется сбор и складирование всевозможной информации о
жизни университета: данные о студентах (контактная информация, оценки, премии, грамоты, вознаграждения); данные о сотрудниках (контактная информация, ученые степени,
звания, публикации); а также данные о самом университете, о факультетах, специальностях, корпусах и так далее. Собираемая информация с течением времени накапливается в
основном в главной базе данных университета – базе данных АСУ «Университет». Это
база состоит более чем из четырехсот таблиц. Данные, хранящиеся в этих таблицах, стекаются из различных источников. Эти источники рассмотрены ниже.
3.1.1. Источники формирования базы АСУ «Университет»
Основная база данных формируется из целого ряда источников, наиболее важные
из которых:
 данные приемной комиссии об абитуриентах, которые в дальнейшем являются основой для данных студенческого отдела кадров;
 данные студенческого отдела кадров (личная карточка студента, перемещение студентов во время учебы, данные о распределении);
 данные отдела кадров преподавателей и сотрудников (движение сотрудников, изменение их личной информации, награды и взыскания);
 данные профсоюзных организаций сотрудников и студентов;
 данные нормативных документов, регламентирующих учебный процесс
(учебные планы, специальности, дисциплины, их закрепление за кафедрами
и пр.).
Все эти источники данных формируются служащими общеуниверситетских подразделений и могут рассматриваться как источники данных уровня университета.
С 2004 года начата эксплуатация intranet-системы для доступа к данным базы АСУ
«Университет» (http://www.asu.grsu.by). В контексте работы с контингентом сотрудников
она позволяет просматривать информацию о штатном расписании структурных подразделений.
На более низких уровнях работы университета, таких как факультет и кафедра,
практически отсутствует система и средства пополнения общеуниверситетской базы данных.
Основной источник данных о работе факультета – система «АСУ Деканат», интегрирующая функции управления учебным процессом факультета – реализована как Windows-приложение, работает с собственной базой данных формата DBase III, и не имеет
связи с основной базой АСУ «Университет».
На каждом факультете система «АСУ Деканат» имеет свою локальную базу, не интегрированную с базами других факультетов. Кроме того, степень наполненности таких
баз конкретной информацией о ходе учебного процесса весьма различается. В основном
сотрудниками деканатов поддерживаются лишь модули системы, позволяющие формировать учебную нагрузку и списки студентов. Все это не позволяет говорить о некой совместной обработке данных о ходе учебного процесса в масштабе не только университета в
целом, но даже и отдельного факультета.
На факультете математики и информатики с 2001 года внедрено приложение
(офисное приложение в среде MS Excel), позволяющее автоматизировать процесс распределения учебной нагрузки, закрепленной за кафедрой, между преподавателями кафедры.
35
Приложение интегрировано с базой АСУ «Университет» (использует таблицы сотрудников, должностей, специальностей) и позволяет не только эффективно реализовать его
непосредственную функцию, но и получать несколько типов отчетов.
Информация о работе кафедр представлена в основном лишь электронными нормативными документами учебного процесса (программы курсов и рабочие программы, программы экзаменов).
Исключением является кафедра информатики и вычислительной техники, располагающая базой публикаций сотрудников и студентов, базой тематики курсовых и дипломных работ студентов и их научных руководителей, электронным архивом курсовых и дипломных работ.
3.1.2. Возможности приложений АСУ «Университет» для работы с контингентом сотрудников
3.1.2.1. Работа с кадрами
Программный комплекс «Кадры» предназначен для оперативного управления кадровым составом ВУЗа, решает задачу централизованного управления людскими ресурсами
предприятия включающую в себя:
 планирование организационной структуры, штатных расписаний;
 оперативный учет движения кадрового состава;
 формирование приказов по личному составу;
 формирование статистической отчетности по труду;
 учет информации об отпусках и льготах персонала, поощрениях и взысканиях,
научной работе;
 аттестации, конкурсе и повышение квалификации работниках;
 генерацию форм персонифицированного учета для Фонда социальной защиты;
 штатный формуляр;
 ведение архивов без ограничения срока давности;
 сведения о воинском учете и прописке в общежитиях ВУЗа.
Примеры работы с приложением «Кадры» изображены на следующих двух рисунках:
Рис. 3.1. Работа со справочником должностей в системе «Кадры»
36
Рис. 3.2. Работа со штатным формуляром в приложении «Кадры»
3.1.2.2. Распределение учебной нагрузки сотрудников
Данное приложение представляет собой офисное приложение Microsoft Excel, в котором с помощью макросов реализован алгоритм распределения учебной нагрузки сотрудников.
Приложение обычно используется раз в году (обычно распределение нагрузки
необходимо рассчитывать в конце августа – начале сентября на весь предстоящий учебный год) сотрудниками кафедр того или иного факультета. В документе имеется возможность загрузки данных о распределении нагрузки из базы данных АСУ «Деканат», которая
ведется на каждом факультете.
Помимо этого система должна обеспечивать связь данного документа с глобальной
базой АСУ «Университет», из которой должны браться недостающие данные. Однако по
каким-то причинам это связь не работает и сотрудникам кафедры порой приходится вручную вводить необходимые данные.
Пример отчета о распределении учебной нагрузки преподавателей кафедры информатики и вычислительной техники изображен на рисунке 3.3:
Рис. 3.3. Отчет о распределении учебной нагрузки преподавателей кафедры информатики и вычислительной техники
37
3.1.3. Работа с сотрудниками в системе www.asu.grsu.by
Как было отмечено выше, с 2004 года начата эксплуатация intranet-системы для доступа к данным базы АСУ «Университет» (http://www.asu.grsu.by). В контексте работы с
контингентом сотрудников она позволяет просматривать информацию о штатном расписании структурных подразделений.
При работе с данной системой можно получить 3 вида выходных документов:
 информация о сотруднике;
 штатное расписание;
 штатный формуляр.
Информацию о сотруднике можно получить с помощью поиска сотрудника по фамилии. При этом система выдаст исключительно узкую информацию о сотруднике: ФИО,
должность, подразделение, телефон. Пример работы системы asu.grsu.by изображен на рисунке 3.4:
Рис. 3.4. Пример работы с сотрудниками в системе asu.grsu.by
Пример работы со штатным расписанием изображен на рисунке 3.5:
Рис. 3.5. Работа со штатным расписанием в системе asu.grsu.by
Пример работы со штатным формуляром представлен на рисунке 3.6:
38
Рис. 3.6. Работа со штатным формуляром в системе asu.grsu.by
Системой asu.grsu.by обычно пользуются работники кафедр и деканатов в тех случаях, когда необходимо оперативно узнать необходимую информацию о сотрудниках, посмотреть штатное расписание того или иного подразделения, штатные формуляры сотрудников.
3.1.4. Проблемы корректности данных АСУ «Университет»
Информация, хранящаяся в БД АСУ «Университет», должна удовлетворять
критериям корректности и подлинности. Однако на самом деле сложно говорить об абсолютной корректности данных. Это обуславливается в основном тем, что на стадии ввода
этих данных в систему, могут допускаться различного рода ошибки. В идеале эти ошибки
должны отслеживаться и устраняться еще при работе с теми приложениями, в которых и
производится ввод данных. Однако ввиду несовершенства программного обеспечения и
влияния так называемого человеческого фактора, некорректных данных в БД АСУ «Университет» с каждым днем становится все больше и больше.
Примеров некорректности данных множество. Так, например, при анализе данных
о сотрудниках университета, а в частности при рассмотрении возраста персонала, пришлось столкнуться с возрастом в 4, 5, 6 и т.д. лет. Это обусловлено некорректностью вводимой даты рождения того или иного сотрудника. Такого рода ошибки отследить практически невозможно. Еще более смешным примером некорректности вводимых данных является неизвестность пола сотрудника. Примером синтаксической некорректности является наличие в базе данных названий одних и тех же сущностей в разных вариантах. Так,
например, место жительства сотрудника «г. Гродно» существует в следующих вариантах:
«Гродна», «г.Гродно», «г. Гродно», «ГРОДНО» и т.д. Такие ошибки автоматически исправить невозможно.
Проблемы корректности данных АСУ «Университет» могут быть решены тремя
способами:
1. Проверка корректности на стадии заполнения данных персоналом университета.
2. Проверка корректности данных на этапе функционирования систем анализа данных и генерации отчетов.
3. Постоянная очистка базы данных АСУ «Университет» от выявленных некорректных данных.
Если первые 2 способа можно осуществить путем выполнения соответствующих
скриптов проверки данных на корректность, то 3-й способ требует наличия специалиста,
который выполнял бы работу по исправлению некорректных данных, которые исправить
39
не под силу автоматическим способом. Однако на данный момент в университете такого
человека нет.
При разработке любой системы, в которой производится анализ данных и генерация отчетов, не избежать встречи с некорректными данными. Это в свою очередь не может не отразится в дальнейшем на информативности, качестве и полезности предоставляемой информации пользователям таких систем.
Выводы
В ходе изучения уже существующих систем для работы с персоналом вуза были
выявлены положительные и отрицательные стороны этих приложений.
К положительным сторонам следует отнести:
 удобный просмотр информации о конкретном сотруднике;
 планирование штатных расписаний;
 работа со штатным формуляром;
 учет информации об отпусках и льготах персонала, поощрениях и взысканиях, научной работе.
Отрицательные стороны:
 слабые возможности для анализа количественных показателей;
 отсутствие агрегированной информации;
 небольшое число форм отчетности;
 отсутствие интерактивности при работе с данными.
Результатом анализа положительных и отрицательных сторон существующих приложений для работы с персоналом и студентами факультета стал вывод о необходимости
разработки системы на базе технологий Бизнес Интеллекта для работы с персоналом и
студентами.
Изученные технологии многомерного анализа данных Microsoft Analysis Services
среды программирования Microsoft Visual Studio 2005 .NET на платформе Microsoft SQL
Server 2005 позволяют сделать вывод о возможности реализации такой системы.
Основной целью данной дипломной работы является создание системы поддержки
принятия решений при управлении факультетом на основе разнородных знаний о различных аспектах работы факультета, методов их получения, анализа и представления конечному пользователю. Систем подобного рода университеты Беларуси не имеют.
Основная гипотеза разработки и использования системы – интеграция разнородных
данных и новые формы их организации и представления – позволят не только получить
новые знания о предметной области, но и позволят пользователю самостоятельно производить поиск и анализ необходимой ему информации.
Реализация системы Бизнес Интеллекта предполагает решение следующих задач:
 организацию процессов сбора информации об аспектах работы факультета вуза;
 структурирование данных и разработка средств их первичного накопления;
 организацию очистки и загрузки первичных данных в общую базу системы;
 формирование хранилища данных, организация его пополнения информацией;
 формирование многомерных таблиц и исследование их средствами OLAP;
 создание системы доступа конечных пользователей к информации системы с использованием методов на основе Internet/Intranet-технологий;
 реализация модуля формирования и доступа к конечным документам посредством
возможностей служб Crystal Reports, Reporting Services, а также с помощью набора
средств Microsoft Office Web Components;
 обучение потенциальных пользователей системы Бизнес Интеллекта факультета –
работников деканата, заведующих кафедрами, преподавателей и сотрудников.
40
ГЛАВА 4. РЕАЛИЗАЦИЯ КОМПОНЕНТОВ СИСТЕМЫ БИЗНЕС ИНТЕЛЛЕКТА
4.1. Требования к системе Бизнес Интеллекта. Общая схема системы
При рассмотрении технологии комплексного и многомерного анализа были выдвинуты основные требования к приложениям для многомерного анализа информации. Эти
требования можно применить и к разрабатываемой системе на базе технологий Бизнес
Интеллекта для работы с персоналом и студентами факультета. Они представляют собой
следующее:
 многомерность – данные о персонале университета должны быть представлены в виде
многомерной модели, что упрощает процессы анализа и восприятия информации;
 поддержка высокой скорости получения данных из многомерного хранилища – будущая система должна быть разработана с помощью средств, которые позволяли бы с
приемлемой для пользователя скоростью получать и сравнивать требуемую информацию в виде так называемых срезов;
 наличие удобных утилит просмотра многомерных данных – в системе должен быть
разработан модуль просмотра конечных документов в виде удобочитаемых и интерактивных отчетов;
 поддержка качественного процесса очистки и пополнения данных – в системе должен
присутствовать модуль очистки и загрузки данных, который позволял бы отфильтровывать «неправильные» данные, обеспечивая, таким образом, достоверность хранимых
данных, и поддерживать актуальность данных за счет периодического обновления
хранилища;
 поддержка многопользовательского режима – разрабатываемая OLAP-система должна
предоставлять возможность работать нескольким пользователям совместно с одной
аналитической моделью или создавать для них различные модели из единых данных.
Исходя из вышеперечисленных требований, необходимо разработать на базе технологий Бизнес Интеллекта систему для работы с персоналом и студентами факультета, которая обеспечивала бы эффективное хранение, обработку и анализ данных о персонале и
студентах.
Прежде чем приступать к разработке такой системы, как и при разработке любой другой системы, необходимо разработать общую схему будущей системы. Эта схема позволить выделить основные компоненты, которые необходимо будет в дальнейшем реализовать. Общая схема системы Бизнес Интеллекта для работы с персоналом и студентами факультета представлена на рис. 4.1:
Рис. 4.1. Общая схема системы для работы с персоналом и студентами факультета
41
На вышеприведенном рисунке изображены модули системы и взаимодействие
между ними. Итак, в системе можно выделить 3 модуля:
1. Модуль сбора, обработки данных и обновления информации. С помощью данного
модуля все необходимые данные должны пройти предварительную обработку и
очистку, прежде чем попасть в хранилище. Этот модуль разрабатывается на основе
Data Transformation Services (DTS) – набора служб Microsoft SQL Server и/или с
помощью администрирования связанных серверов (Linked Servers).
2. Модуль формирования многомерной базы данных (многомерного хранилища).
Этот модуль позволит содержащиеся в хранилище данные организовать согласно
концепции OLAP-систем в виде многомерных данных. В качестве средства разработки данного модуля будут использованы службы многомерного анализа Analysis
Services компании Microsoft.
3. Модуль формирования и доступа к конечным документам. Этот модуль должен
предоставлять конечным пользователям анализируемые данные в виде интерактивных отчетов. Reporting Services, Office Web Components – набор служб и средств, с
помощью которых и будет реализован данный модуль. Также планируется использовать мощное средство генерации отчетности – Crystal Reports, описанное выше.
Схема работы разрабатываемой системы следующая: сырые данные, хранящиеся в
оперативной базе АСУ «Университет» и других первичных документах попадают в хранилище после предварительной обработки и очистки с помощью модуля очистки и загрузки данных. Средствами модуля формирования многомерного хранилища из очищенных данных происходит формирование измерений и кубов данных. Затем аналитические
данные посредством модуля формирования и доступа к конечным документам представляются в виде интерактивных отчетов пользователям системы.
4.2. Первичные данные системы Бизнес Интеллекта
4.2.1. Данные отдела кадров
Данные отдела кадров для разрабатываемой системы необходимо брать из основной базы данных АСУ «Университет». Это БД представляет собой сбор всевозможных
данных о Гродненском государственном университете и о его жизни.
Структура базы данных АСУ «Университет» представлена, во-первых, «справочниками», в которых содержится обычно уникальный код сущности, описываемой справочником, и справочные данные (нередко основным полем сущности является название
сущности). Во-вторых, в базе данных имеются и таблицы, которые содержат в себе «динамические» данные, отражающие какую либо динамику и изменения в жизни университета с течением времени. Эти таблицы представляют собой особую ценность.
Из всей совокупности содержащихся в базе данных АСУ «Университет» справочников и таблиц для решения поставленной задачи необходимо выбрать только необходимые – содержащие данные о сотрудниках университета.
Структура хранилища данных и справочников, содержащие сведения о персонале
университета, представлены в приложении «Структура хранилища данных».
4.2.2. Данные системы «Деканат»
Данные этого раздела содержат исчерпывающие сведения об успеваемости студентов:





оценки за экзамены в разрезе сдач;
оценки за экзамены в разрезе пересдач;
средняя успеваемость;
академическая задолженность студентов;
др.
42
Структура данных системы «Деканат» представлена в приложении «Структура
хранилища данных».
4.2.3. Данные системы «Профсоюзный комитет»
4.2.3.1. Общие сведения о системе
В данном разделе представлена информация о контингенте студентов, состоящих в
профсоюзе:
 списочная информация;
 информация об объемах материальной помощи;
 информация о льготах, предоставляемых студентам;
 информация об оплаченной стоимости предоставленных путевок;
 информация об уплате членских взносов за определенный период времени;
 др.
Структура данных системы «Профсоюзный комитет» представлена в приложении
«Структура хранилища данных».
4.2.3.2. Предпосылки реализации приложения ввода данных
Необходимо заметить, что данные системы данных «Профсоюзный комитет» частично расположены в базе данных автоматизированной системы управления «Университет», так как полная информация о студентах расположено именно в этом хранилище данных. Однако данная информация не является исчерпывающей, поскольку она не несет никакой информации об оплате членских взносов, о суммах материальной помощи, полученной студентами, о предоставленных льготах, путевках студентам и т.д.
Всей этой информацией манипулирует профсоюзный комитет студентов, которому
для повседневной работы необходимо ежедневно получать необходимую информацию о
каждом студенте, группе, курсу, факультету в разрезе различных периодов, факультетов,
курсов и т.д. Также имеется необходимость в получении различного рода отчетов, таких
как:
 списочная информация о студентах по факультетам;
 список должников перед профсоюзным комитетом;
 список инвалидов в разрезе факультетов;
 список сирот в разрезе факультетов;
 список студентов из многодетных семей;
 список студентов, имеющих детей, с указанием их количества;
 список студентов, с совокупным доходом родителей, меньше заданной суммы;
 и т.д.
Поэтому было принято решение для создания приложения, которое собирает и организует информацию о профсоюзной направленности студентов факультетов и университета в целом. Так как на рабочих станциях работников профсоюзного комитета не имелось возможности для установления мощного хранилища данных, как, например, Microsoft SQL Server 2005, причем необходимости в хранении огромного количества данных
не существовало, то было принято решение для организации хранения информации о
профсоюзной направленности студентов в базе данных Microsoft Access (.mdb).
Так как перед нами не стояло ограничений по выбору средств реализации такого
приложения, то организация ввода информации была реализована средствами Borland
Delphi, что было достаточно быстрым и удобным на данный момент. Наиболее весомыми
положительными моментами использования данной среды явились:
 быстрое создание приложения для ввода информации;
 возможность создания удобной для работника профсоюзного комитета обстановки для ввода информации;
 возможность создания отчетов с использованием встроенных компонентов.
43
Следует добавить, что дальнейшее развитие данного направления может быть
предпринято с использованием более изящных и модных средств программирования.
4.3.2.3. Реализация приложения для ввода информации в систему
При реализации данного приложения, необходимо было обеспечить следующее:
1. Организовать обновление базы данных:
a. Удаление ненужных записей
b. Резервирование и выгрузка записей, удовлетворяющих определенным условиям;
c. Загрузка новой информации из хранилища данных;
d. Восстановления резервной информации.
2. Организовать ввод и редактирование данных.
Для выполнения организации обновления базы данных был реализован специальный модуль, выполняющий все необходимые требования (форма обновления базы представлена в приложении 2 на рис. 1):
Так как добавлять и исправлять профсоюзную информацию может только авторизованный пользователь, то необходимо было внести возможность авторизации в наше
приложение.
В приложении 2 на рис. 2. представлена форма для редактирования имеющейся
информации в базе данных.
Пример ввода информации о членских взносах приведен в приложении 2 на рис. 3.
Исходя из требования получения только необходимого на данный момент списка
студентов, был реализован модуль создания фильтра из практически всего множества
критериев, описывающих профессиональную направленность студентов, приняв который
можно получить желаемый список студентов.
Пример создания фильтра критериев приведен в приложении 2 на рис. 4.
Конечным итогом использования данного приложения является генерация специальных отчетов. Пример их вызова показан в приложении 2 на рис. 5.
Пример готового отчета, сгенерированного средствами стандартных компонентов
среды программирования Borland Delphi представлен в приложении 2 на рис. 6.
Важно заметить, что для создания такого рода отчета необходимо иметь достаточно навыков работы с компонентами среды Borland Delphi, необходимо уметь грамотно использовать их совместно с другими компонентами. Причем, даже при владении средним
уровнем знаний в этой области, на создание такого отчета может уйти до двух дней. Поэтому целесообразно использовать мощные средства генерации отчетности, такие как
Crystal Reports или Microsoft Reporting Services. В таких системах на создание отчета, при
прозрачной, грамотной структуризации и хранении информации в хранилище данных,
уходит минут двадцать. Причем остальное время уходит только на украшение отчета и
приведение его к удобному для восприятия виду. Именно по этой причине, было принято
решение, для реализации всех необходимых отчетов именно с помощью мощных средств,
описанных выше. Описание процесса получения и системы готовых отчетов, полученных
с помощью данных средств, будет приведено ниже.
4.3. Реализация модуля очистки, загрузки и обновления данных
Для организации очистки, загрузки и обновления данных в нашем хранилище данных, можно пойти по двум направлениям:
 использовать DTS-пакет;
 использовать администрирование связанных серверов (Linked Servers);
В ходе выполнения работы мы использовали и то и другое направление. В общем
случае модуль сбора и обновления информации по расписанию построен следующим образом:
44
Рис. 4.2. Модуль сбора и обновления информации по расписанию
Исходя из структуры модуля, целесообразно привести положительные и отрицательные моменты каждого направления. Положительным фактом при использовании
DTS-пакетов является то, что обработка возникших коллизий информации происходит в
процессе сбора и обновления, перед тем как попасть в хранилище данных, что обеспечивает недопущение попадания неверной информации в прозрачное хранилище данных. Однако создание и настройка DTS-пакета достаточно трудоемкая, требующая достаточных
навыков, задача.
Достаточно быстрое распространение в настоящее время получает технология администрирования связанных серверов (Linked Servers Administration, LSA). Его удобство
заключается в том, что, что мы можем обратиться к серверу, который может находиться
удаленно, например, на внешнем источнике данных, по имени из нашего локального сервера, предварительно настроив его на определенное ссылочное имя (alias). Этот внешний
источник данных может являться базой данных Microsoft Access, Oracle, Microsoft Excel
или почти любая система данных, которая доступна через OLE или ODBC, включая другие Microsoft SQL серверы. Microsoft SQL связанный сервер очень подобен возможности
Microsoft Access, а именно создания связанной таблицы (Link Table).
С помощью связанного сервера имеется возможность создания достаточно прозрачные, удобные в использовании SQL-выражения, которые предоставляют возможность
доступа к внешней информации, выкачивания полезных данных, сопоставления, обновления и комбинирования с информацией, расположенной на локальном сервере (хранилище данных).Также как и для DTS-пакета, для связанных серверов можно настроить
определенную работу (Job), которая будет загружать, обновлять и очищать необходимые
данные. А в свою очередь каждую работу можно настроить выполняться в определенное
время, т.е по расписанию (Schedule).
Теперь опишем использованные направления для реализации модуля сбора, очистки, загрузки и обновления информации по расписанию более подробно.
4.3.1. Использование DTS-пакетов
В предыдущей главе были описаны основные проблемы корректности информации
в базе данных АСУ «Университет». И как отмечалось, одним из способов решения этих
проблем является проверка корректности данных на этапе загрузки данных системы Бизнес Интеллекта.
Таким образом, перед тем, как нужные данные попадут в хранилище, необходимо
проверить их на корректность. Для этого на платформе Microsoft SQL Server существуют
специальные службы – DTS (Data Transformation Services). С помощью этих служб необходимо создать модуль очистки и загрузки данных в хранилище. Этот модуль позволит в
какой-то степени автоматизировать процесс очистки данных от некорректных значений и
выбрать только нужную информацию о сотрудниках университета из всей совокупности
таблиц базы данных АСУ «Университет».
45
Пакеты могут создаваться из графического интерфейса SQL Server 2005 Management Studio и программным путем. Графически пакет создается через DTS Designer, либо
неявно через DTS Import/Export Wizard. Последний решает простейшие задачи переноса
данных и может быть запущен как из контекстного меню соответствующего объекта SQL
Server, так и из командной строки (dtswiz.exe). DTS Designer решает более сложные задачи с преобразованием данных в процессе переноса, ветвлением последовательности выполнения и т.д. Все действия над пакетом и его компонентами, которые доступны из графического интерфейса: создание, изменение тех или иных параметров, выполнение и пр.,
также могут быть выполнены из приложения с помощью библиотеки Microsoft DTS
Package Object Library.
В нашем случае DTS-пакет будет создан с помощью графического интерфейса DTS
Designer. В пакет необходимо включить перенос необходимых таблиц, содержащих данные о сотрудниках, из базы данных АСУ «Университет» с предварительной очисткой и
преобразованием.
DTS-пакет представляет собой полное описание всех действий, которые должны
быть выполнены в ходе преобразования. Каждый пакет определяет одну или несколько
задач, выполняемых в некой координированной последовательности.
Перед описанием последовательности выполняемых задач, необходимо создать источники и приемники данных. В нашем случае в качестве источников будут выступать
необходимые таблицы базы данных АСУ «Университет». В DTS-пакете можно описать
соединения к разным видам источников. К таким источникам относятся различные версии
MS SQL Server, Oracle, Excel, Access, Paradox, dBase и текстовые файлы. Т.к. первичные
данные хранятся в базе данных SQL Server, то необходимо создать соединения вида Microsoft OLE DB Provider for SQL Server. Таким же образом создается приемник данных –
соединение с базой данных «ASU_SOTRUDNIKI». .
Над описанными источниками и приемниками данных необходимо проводить
определенные действия. Для этого в DTS-пакет можно добавить задачи. Задача представляет собой определение некоторой порции работы, которую необходимо выполнить в ходе преобразования. Задача может реализовывать транспортировку и преобразование разнородных данных из OLE DB-источника в OLE DB-приемник с помощью объекта переноса данных DTS Data Pump, выполнять сценарий ActiveX Script или же запускать внешнюю
программу. В нашем DTS-пакете необходимо определить два типа задач: задача удаления
устаревших данных из приемника и задачи преобразования и транспортировки новых
данных из источника в приемник. Для первого типа задач подходит объект вида Execute
SQL Task, в котором можно определить SQL-скрипт для удаления данных из приемника.
В качестве второго типа задач необходимо применить объект Transform Data Task. В задачах такого вида можно задать как обычный перенос данных из одной таблицы в другую,
так и преобразование данных с помощью сценариев ActiveX Script на языках JScript Language или VB Script Language. В нашем случае для очистки сырых данных от ошибочной
и некорректной информации будет использоваться язык VB Script Language.
После создания соединений и задач, необходимо определить последовательность
выполняемых действий. В частности, необходимо, чтобы перед выполнением задачи преобразования и переноса данных выполнялась задача удаления всех устаревших данных из
приемника. Для этого в DTS-пакете создаются так называемые объекты-шаги. Объектышаги координируют потоки управления и выполнения задач в DTS-пакете. Несколько задач могут быть запущены параллельно, что повышает производительность процесса. Так,
например, в нашем пакете задачи по переносу и преобразованию данных будут выполняться параллельно, однако только после выполнения задачи удаления данных из приемника.
В результате выполнения DTS-пакета необходимые очищенные данные помещаются в хранилище данных, схема которого изображена на рис. 4.3:
46
Рис. 4.3. Схема хранилища данных «ASU_SOTRUDNIKI»
Далее подробно опишем процесс реализации модуля очистки и загрузки данных с
использованием DTS-пакета.
4.3.1.1. Процесс реализации модуля очистки и загрузки
Перед помещением информации из внешних источников данных в хранилище данных необходим этап очистки и согласования данных, реализуемый набором программ извлечения данных.
На начальном этапе необходимо полученные из отдела АСУ данные очистить от
«мусора». Под очисткой данных следует понимать фильтрацию сырых данных на предмет
определения наличия некорректных данных. В связи с этим разрабатываемый модуль
должен не допустить попадание ошибочных и некорректных данных в хранилище, т.к. это
может прямым образом повлиять в дальнейшем на работоспособность остальных модулей
системы.
Так как система Бизнес Интеллекта факультета разрабатывается на платформе MS
SQL Server 2005, то целесообразно применение в качестве средства разработки данного
модуля служб DTS (Data Transformation Services).
Для очистки сырых данных и заполнения хранилища данных необходимо было создать и выполнить так называемый пакет DTS (DTS Package), содержащий описание последовательности всех действий, которые следует выполнить при переносе данных (включая преобразование типов данных, выполнение SQL-запросов и т.д.).
Ниже рассмотрен процесс создания пакета DTS, заполняющего хранилище
ASU_SOTRUDNIKI данными из оперативной базы данных ASU.
4.3.1.2. Описание источника и приемника данных
При создании пакета необходимо описать источник данных для формируемого
хранилища данных и приемник данных – само хранилище. В связи с тем, что из всей базы
данных АСУ нам необходимы только некоторые таблицы и справочники, были созданы
источники данных, соответствующие каждой таблице. На рабочем пространстве редактора DTS-пакетов в центре, как видно из рисунка, расположены пиктограммы таблиц-
47
источников данных
. Названия, расположенные чуть ниже каждой такой пиктограммы,
соответствуют названиям таблиц оперативной базы данных ASU, откуда и будут браться
данные.
При описании каждого источника данных необходимо выбрать соответствующую
базу данных и указать параметры доступа к ней. Как видно из рисунка 4.4. создаваемый
источник соответствует таблице OBD базы данных ASU, содержащей сведения о сотрудниках университета.
Рис. 4.4. Описание источника данных в DTS-пакете
Аналогичным
ASU_SOTRUDNIKI.
образом
производится
описание
приемника
данных
4.3.1.3. Описание потоков данных и выполнения задач
Перед заполнением хранилища данных необходимо очищать входящие в него таблицы. Для этого необходимо поместить на рабочее пространство редактора DTS-пакетов
пиктограмму Execute SQL Task
. Этот тип задач позволяет выполнять необходимые
SQL-скрипты. В нашем случае этот SQL-скрипт просто будет последовательно выполнять
команду DELETE FROM для каждой из таблиц, содержащихся в хранилище данных.
Далее необходимо определить, какие потоки данных нужны для заполнения хранилища данных. Для этого каждый из источников данных необходимо связать с приемником
данных с помощью задачи Transform Data Task. Эти задачи изображены в виде черных
стрелок. Задачи для переноса данных могут выполняться параллельно. Однако они могут
быть выполнены только после полной очистки всего хранилища. Чтобы задать это условие, следует одновременно выбрать пиктограмму Execute SQL Task и одну из уже задействованных пиктограмм источника данных, а затем из контекстного меню источника данных выбрать опцию Workflow | On Success. Появившаяся зеленая пунктирная стрелка
между пиктограммами означает, что перенос данных в соответствующую таблицу приемника будет осуществлен только после успешного завершения очистки хранилища.
4.3.1.4. Описание преобразования данных
В свойствах каждой задачи Transform Data Task необходимо указать таблицуисточник, таблицу-приемник, а также на вкладке Transformations необходимо описать все
выполняемые преобразования данных:
48
Рис. 4.5. Описание преобразования данных для таблицы OBD
Из рисунка видно, каким образом производится перенос данных. Это можно видеть по стрелкам, соединяющим соответствующие поля таблицы-источника и таблицыприемника. При этом по умолчанию выполняется перенос всех данных поля приемника в
поле источника. Однако в свойствах каждого преобразования, если это требуется, можно
указать способ преобразования данных. На рисунке 4.6. изображен один из способов преобразования данных – с помощью ActiveX Script, написанного на языке Visual Basic для
преобразования поля «Дата рождения сотрудника» («D_ROZ»).
Рис. 4.6. Описание преобразования данных для поля «D_ROZ» таблицы «OBD».
4.3.1.5. Расписание выполнения DTS-пакета
Для того чтобы данные в хранилище соответствовали текущему состоянию оперативной базы данных, необходимо создать расписание, согласно которому будет автоматически выполняться данный пакет. Нужный режим обновления данных выбирается в диалоговой панели Edit Recurring Job Schedule, изображенной на рисунке 4.7.
49
Рис. 4.7. Создание расписания выполнения DTS-пакета
Из рисунка видно, что расписание создано таким образом, чтобы обновление данных происходило тогда, когда система с наименьшей степенью будет использоваться –
еженедельно, в воскресенье, в 0:00 часов.
4.3.2. Использование связанных серверов (Linked Servers)
4.3.2.1. Связанный сервер ASU
Для того, чтобы получать и загружать обновленные данные, нам пришлось настроить несколько связанных серверов, так как информация для каждой из систем хранится в
различных источниках информации. Опишем создание, администрирование и использование полученных связанных серверов более подробно.
Для получения информация информации из систем «Отдел кадров» и «Деканат»
мы настроили связанный сервер на работу с базой данных автоматизированной системы
управления «Университет». Для этого мы вначале настроили ODBC-источник данных
ASU для связи с базой данных.
Рис. 4.8. Настройка ODBC-источника на БД АСУ «Университет»
Далее, при настройке связанного сервера с присвоенным ссылочным именем ASU,
указали данный настроенный источник данных в качестве используемого для данного связанного сервера. Это означает, что теперь при обращении по имени ASU данные будут
извлекаться непосредственно из необходимой нам базы данных без каких либо дополнительных настроек (рис. 4.9).
50
Рис. 4.10. Разрешение вызова удаленных
Рис. 4.9. Настройка связанного сервера
процедур для связанного сервера
ASU.
Важно заметить, что для использования процедур выборки и организации информации необходимо разрешить удаленный доступ к данному связанному серверу, а именно
разрешить вызов удаленных процедур (смотрите рис. 4.10):
Также необходимо и обязательно настроить аутентификацию/авторизацию при использовании данного связанного сервера:
Рис. 4.11. Настройка аутентификации/авторизации связанного сервера.
Как видно из рисунка аутентификация/авторизация разрешена для удаленного
пользователя, с чьего только разрешения мы имеем право на выборку необходимой нам
информации, естественно, в рамках тех привилегий, который данный конкретный пользователь обладает сам.
Для данного связанного сервера настроена выборка, очистка, организация и обновление информации по расписанию аналогично описанному выше DTS-пакету, поэтому
перейдем к настройке следующего связанного сервера LS_PROFCOM.
4.3.2.2. Связанный сервер LS_PROFCOM
Связанный сервер LS_PROFCOM настроен на базу данных Microsoft Access. Описание настройки данного связанного сервера показано на рисунке 4.12.
51
Рис. 4.12. Описание настройки связанного
Рис. 4.13. Шаг удаления всех таблиц из
сервера LS_PROFCOM.
хранилища данных
Данные постепенно и периодически в этой базе данных обновляются, поэтому
необходимо было назначить работу (Job), которая бы эти данные с учетом возникших
коллизий, загружала бы в наше хранилище данных. Так как данные в базе данных Microsoft Access являются строго организованными и необходимыми (это обеспечивается
приложением, осуществляющим организацию сбора и обновления информации в самой
базе данных), а удаление таблиц и копирование данных в наше хранилище данных на сегодняшний момент не является критическим с точки зрения производительности, то было
принято решение создать два последовательных шага для реализации поставленной перед
нами задачи создания работы: удаление всех таблиц из хранилища данных (см. рис. 4.13)
и загрузка (копирование) всех таблиц в хранилище данных из связанного сервера
LS_PROFCOM (рис. 4.14).
Рис. 4.14. Шаг загрузки данных в хранилище данных
52
После создания работы (Job) можно назначить расписание, по которому данная работа будет выполняться. К примеру, можно настроить на выполнения данной работы ежеминутно:
Рис. 4.15. Пример расписания ежеминутного выполнения работ
Как мы видим, администрирование связанных серверов является менее трудоемкой
задачей с точки зрения затраченного времени, чем DTS-пакет. Причем, обработка возникших коллизий выполняется после того как данные вытянуты из связанного сервера, а
затем они загружаются в хранилище данных. Поэтому с точки зрения производительности, заметного ухудшения скорости обновления информации не отмечается и, можно сделать вывод о том, что использование администрирования связанных серверов для поставленной перед нами цели, является более приемлемым на сегодняшний день.
4.4. Формирование многомерного хранилища данных
После того, как основное хранилище данных сформировано из оперативной базы
данных с помощью служб очистки и преобразования данных, необходимо приступать
непосредственно к формированию многомерного хранилища данных (базы данных
OLAP), в котором будут созданы все необходимые кубы с измерениями.
Формирование многомерной базы данных – второй модуль разрабатываемой подсистемы Бизнес Интеллекта. И, как было отмечено выше, данный модуль будет разрабатываться на основе служб Microsoft Analysis Services, входящие в состав средств OLAP
для организации эффективного анализа данных в Microsoft Visual Studio 2005 .NET.
При создании измерений и кубов в системе Бизнес Интеллекта факультета следует
учесть два основных аспекта в анализе количества сотрудников университета:
 Контингент – представляет собой анализ количества сотрудников в разрезах данных, не меняющихся с течением времени. Анализ в этом аспекте
осуществляется по следующим факторам: социальным факторам: полу, возрасту, семейному положению, национальности, месту проживания сотрудника; профессиональным факторам: должности, научной степени, научному
званию, научной области, подразделению, штату и т.д.
 Динамику – представляет собой анализ количества сотрудников в динамике, т.е. в разрезе факторов, меняющихся с течением времени: смена места
работы (подразделения) сотрудником, получение научного звания, получение научной степени, приход новых людей в университет, уход людей из
университета.
При создании многомерного хранилища данных для поставленной задачи необходимо сначала определить источник данных, предоставляющий информацию для будущих
53
измерений и кубов данных. В качестве источника данных будет выступать сформированное хранилище данных «ASU_SOTRUDNIKI». Источниками данных могут быть любые
данные доступные с помощью стандартного интерфейса OLE DB.
Измерения – это категории, относительно которых нужно обобщать и анализировать информацию. В качестве измерений в подсистеме будут выступать: «Пол», «Возраст», «Семейное положение», «Национальность», «Место проживания», «Должность»,
«Подразделение», «Штат», «Научная отрасль», «Научная степень», «Научное звание»,
«Дата назначения», «Дата увольнения», «Причина увольнения», «Дата получения научной
степени», «Дата получения научного звания».
Данные измерения будут формироваться из таблиц нормативно-справочной информации (справочников), содержащихся в хранилище данных. Измерения могут быть
сформированы как из одной таблицы, так и из нескольких таблиц, которые будут использованы как источник информации для измерения. Этот выбор определяется структурой,
лежащей в основе хранилища данных «ASU_SOTRUDNIKI».
На основе созданных измерений можно создавать многомерные кубы данных. Для
построения куба необходимо определить связанную с ним таблицу фактов. Меры
(measures) куба представляют собой столбцы таблицы фактов, содержащих числовые данные, которые необходимо проанализировать. В нашем случае необходимо анализировать
количественную информацию о сотрудниках университета в разрезах измерений. Поэтому
в каждой из таблиц фактов должно содержаться поле, однозначно идентифицирующее сотрудника. В качестве такого поля выбран табельный номер сотрудника (поле «TN»).
Измерения куба соответствуют категориям, которые используются для анализа мер
куба. С помощью мастера кубов можно включить в куб любые измерения, которые были
заранее определены.
В результате будет создан куб, определяющий связи между количественными данными, которые нужно проанализировать, и измерениями, относительно которых нужно
провести этот анализ.
Итак, перейдем к непосредственному описанию модуля формирования различных
многомерных представлений (кубов) базы данных. Кубы создаются при помощи средств
Microsoft Analysis Services, входящих в состав Microsoft Visual Studio 2005 .NET. Было создано несколько представлений (кубов) данных. Процесс создания кубов описан ниже.
Стоит отметить, что преимуществами созданных представлений является то, что
данные перестраиваются один раз, что ускоряет доступ к ним, и, соответственно, увеличивается скорость формирования конечных выходных документов, что, в конечном итоге,
отражается на всем процессе работы построенной системы Бизнес Интеллекта факультета.
Для решения поставленной задачи необходимо создать шесть кубов:
1. «Контингент сотрудников»;
4. «Увольнение с работы»
2. «Контингент ученых»
5. «Получение научной степени»
3. «Прием на работу»
6. «Получение научного звания»
Таблица 1. OLAP-кубы системы Бизнес Интеллекта
С помощью этих кубов можно будет анализировать количество сотрудников в различных разрезах измерений. Опишем более подробно процесс создания измерений и кубов, соответствующих описанным выше аспектам
В качестве средства для реализации данного модуля были выбраны службы анализа данных Microsoft Analysis Services. Для решения поставленной задачи по формированию многомерного хранилища необходимо создать измерения и многомерные кубы данных, на основе которых в дальнейшем будет строиться модуль формирования выходных
документов с аналитической информацией о сотрудниках университета.
Прежде чем приступить к формированию измерений и кубов, необходимо создать
многомерную базу данных, в которой эти кубы будут храниться, строится и перестраиваться. Это можно сделать по двум направлениям:
54
1. Нужно выбрать пункт New Database: из контекстного меню элемента, соответствующего OLAP-серверу, и ввести имя базы данных и ее описание. В нашем случае была
создана многомерная база данных «AS_ASU_SOTRUDNIKI». . Затем необходимо описать
источник исходных данных для будущих измерений и кубов. Источником данных в
нашем случае является созданное ранее с помощью модуля очистки и загрузки данных
хранилище «ASU_SOTRUDNIKI». . Для описания источника данных необходимо выбрать
из контекстного меню элемента Data Sources пункт New Data Source: и заполнить поля
стандартной диалоговой панели Data Link Properties: в качестве провайдера данных необходимо указать OLE DB Provider for SQL Server и выбрать базу данных
«ASU_SOTRUDNIKI».
2. Так как, Microsoft SQL Server 2005 и Microsoft Visual Studio 2005 .NET тесно взаимодействуют друг с другом, то все эти действия можно выполнять не покидая среды разработки Microsoft Visual Studio 2005 .NET. Опишем подробнее процесс настройки проекта, в котором будут строиться необходимые нам представления (кубы) данных. Для начала необходимо создать новый проект Бизнес Интеллекта (Business Intelligence Project), а
именно Analysis Services Project:
Рис. 4.16. Создание нового проекта Бизнес Интеллекта
После его создания, сначала нам необходимо настроить доступ к источнику данных, информация из которого будет использоваться для построения измерений, мер и,
естественно, самих представлений (кубов) многомерной базы данных (см. рис 4.17).
Рис. 4.17. Настройка доступа к источнику
данных
Рис. 4.18. Окно выбора необходимых таблиц
и представлений
55
После этого запускаем мастер для создания представления этого источника данных
в проекте. На рисунке 4.18. показано окно выбора необходимых таблицы и представлений,
которые хранятся в хранилище данных.
Одно из преимуществ такого подхода, это то, что при создании представления источника информации можно создавать дополнительные связи, которые в хранилище данных не желательны, без изменения первоначальной структуры источника информации. В
приложении «Структура хранилища данных» показана структура созданного представления, которое было использовано для построения соответствующих измерений, мер и
представлений (кубов) данных (более подробный данный слепок представлен в описаниях
представлений (кубов) данных в виде именно тех таблиц, которые были использованы для
его построения):
После того, как мы получили необходимое и достаточное представления нашего
источника данных, можно приступать к построению измерений.
4.4.1. Создание измерений
Для разрабатываемой системы необходимо создать измерения нескольких типов:
 измерения типа «дата/время»;
 регулярные измерения;
 измерения типа «родитель-потомок».
Мастер создания измерений в Microsoft Visual Studio 2005 .NET при выборе типа
измерения standard (стандарт) (смотрите рис.), и, при условии, что таблица, содержащее
атрибут измерения, имеет связи с другими таблицами (related tables), сам создаст нужный
тип измерения:
Рис. 4.19. Диалоговое окно выбора типа измерения
Рассмотрим
создание
измерений
на
примере
измерения
«02_VID_PODRAZDELENIE.dim».
Любое измерение в Microsoft Analysis Services можно создать двумя способами: с
помощью соответствующего мастера и с помощью редактора измерений.
Создадим измерение «02_VID_PODRAZDELENIE.dim» с помощью мастера создания измерений. Сначала необходимо выбрать метод построения измерения:
 используя источник данных
o автоматическим способом (с созданием иерархий и атрибутов или с созданием только атрибутов)
o ручным способом
 без использования источника данных.
Мы выбрали создание измерения автоматически с созданием иерархий и атрибутов
из нашего источника данных (см. рис. 4.20).
Далее необходимо выбрать созданное нами представление источника данных (Data
Source View, DSV) (см. рис. 4.21).
56
Ввиду того, что измерение является измерением типа «родитель-потомок», в диалоговой панели выбора типа измерения (смотрите рисунок такой то) необходимо выбрать
опцию Standard.
Рис. 4.21. Определение представления исРис. 4.20. Определение метода построения
точника данных (DSV)
измерения
Далее необходимо выбрать таблицу, служащую источником данных для создаваемого измерения, так называемую главную таблицу, а также указать связь между двумя
полями таблицы «XOTDEL», указав имя поля K_OTDEL в качестве свойства Key создаваемого измерения (ключ измерения), N_OTDEL – в качестве его свойства Member Name
(название подразделения). В следующих диалоговых окнах необходимо указать
KP_OTDEL – в качестве свойства Parent Key (ключ родителя) для связанной таблицы:
Рис. 4.22. Выбор связанной таблицы и атрибутов для измерения
Далее мастер построения измерений выполняет определение всевозможных иерархий и выполняет их построение (см. рис. 4.23). После этого мы можем сохранить наше
измерение под определенным именем (см. рис. 4.24).
57
Рис. 4.23. Определение и построение
Рис. 4.24. Определение имени измерения
иерархий
На конечном этапе создания измерения мы попадаем в редактор измерений, где
можем дополнительно отредактировать опции измерения, добавить новые атрибуты и т.д.:
Рис. 4.25. Режим редактирования измерений
В результате создания измерения «02_VID_PODRAZDELENIE.dim» мы получаем
иерархию подразделений университета, изображенную на следующем рисунке:
Рис. 4.26. Иерархия подразделений университета
Аналогичным образом создаются остальные измерения. Полный список и примеры
построенных измерений представлены в приложении «Измерения проекта».
4.4.2. Формирование многомерных кубов
Многомерный куб можно создать с помощью соответствующего мастера или непосредственно в редакторе кубов.
Рассмотрим
создание
OLAP-куба
на
примере
куба
«04_Dinamika_Rabotayuschie.cube».
58
Начальные этапы мастера создания куба аналогичны этапам мастера для создания
измерений. Поэтому перейдем непосредственно к выбору таблицы фактов, которая содержит анализируемые данные, и набор ключевых полей для связи с таблицами измерений. Если на начальном этапе мастера был выбран автоматический метод построения
иерархий, то для куба «04_Dinamika_Rabotayuschie.cube» получим структуру, идентифицирующую таблицы фактов и измерений. Она представлена на рис. 4.27.
После этого необходимо выбрать все измерения, в разрезах которых в дальнейшем
будет анализироваться информация о работающих в данный момент сотрудниках (см. рис.
4.28).
Рис. 4.27. Выбор таблиц фактов и измерений для данного куба
Рис. 4.28. Выбор измерений для данного куба
В следующем диалоговом окне необходимо указать числовые поля, данные которых будут анализироваться после создания куба. В нашем случае это единственное поле –
«табельный номер». В результате суммирования значений этого поля мы сможем получать разнообразную количественную информацию о сотрудниках в различных разрезах
измерений (см. рис. 4.29).
Далее мастер определяет всевозможные иерархии данных (см. рис. 4.30).
Рис. 4.29. Выбор необходимых мер
(Measures)
Рис. 4.30. Определение иерархий
59
На последнем шаге куб сохраняется в многомерном хранилище данных
«AS_ASU_SOTRUDNIKI» и мастер создания кубов открывает редактор кубов. В редакторе кубов в случае необходимости можно также добавить недостающие измерения и меры. В центральной части окна редактора кубов расположена наглядная схема вновь созданного куба.
На этом процесс создания куба завершен. Аналогичным образом создаются и
остальные кубы. Схема куба «Работающие сотрудники», а также схемы кубов, необходимых для решения поставленной задачи, а также измерения, которые задействованы для
них, представлены в приложении «Структура кубов системы».
4.4.3. Обновление многомерных представлений по расписанию
Следует добавить, что в случае обновления данных в хранилище данных, необходимо произвести перестройку кубов заново (Re-Processing). Раз данные в хранилище данных обновляются по расписанию, то, естественно, необходимо добиться перестройки всех
измерений, мер и кубов данных также по расписанию.
В Microsoft SQL Server Management Studio встроен язык XMLA, средствами которого существует возможность выполнить полную перестройку всего многомерного хранилища данных включая представления, измерения и, естественно, кубы данных, написав
BATCH-SQL-запрос. На следующем рисунке показано окно создания задания (Job), которое будет выполнять полный пересчет представлений, измерений, мер и кубов данных :
Рис. 4.31. Создание задания для обновления кубов данных
Следует отметить, что имея такую возможность, мы можем полностью автоматизировать процесс обновления информации при помощи удобного для пользователей и системы расписания выполнения задач и работ.
На следующем рисунке приведен пример XMLA-скрипта, отвечающего за полную
перестройку всех данных многомерного хранилища данных:
60
Рис. 4.32. XMLA-cкрипт перестройки данных многомерного хранилища данных
4.5. Модуль формирования отчетности
После того, как многомерное хранилище данных с необходимыми измерениями и
кубами сформировано, необходимо организовать доступ конечного пользователя к анализируемым данным.
В качестве выходных документов в разрабатываемой подсистеме должны выступать документы следующих типов:
 традиционные отчеты:
o табличные отчеты;
o матричные отчеты;
o диаграммы;
o комбинированные отчеты;
 интерактивные отчеты.
Следует отметить категории отчетов, которые будут строиться данным модулем:
 количественные данные о контингенте сотрудников и студентов;
 количественные данные о динамике движения контингента сотрудников и
студентов в различных разрезах.
4.5.1. Реализация модуля создания документов с использованием Reporting
Services
Для реализации данного модуля воспользуемся вышеописанными средствами и
службами.
Для формирования традиционных отчетов с помощью Reporting Services необходимо создать в MS Visual Studio 2005 .NET проект Report Project и в нем создать новый
отчет. В качестве примера создадим отчет о работающих сотрудниках, которые имеют
ученые степени. Для определения отчета необходимо задать источник данных, через который будут браться данные для отчета из созданного ранее OLAP-куба
«01_Dinamika_Nauch_Zvanie.cube». При создании нового источника в поле Query string
необходимо задать MDX-запрос для получения данных о количестве сотрудников с научными степенями в разрезе пола (см. рис. 4.33).
Рис. 4.33. Определение источника данных для
отчета «Динамика изменения контингента сотрудников, имеющих научное звание»
Рис. 4.34. Структура отчета «Динамика
изменения контингента сотрудников,
имеющих научное звание»
61
Далее необходимо определить внешний вид будущего отчета. Отчет будет представлен в матричном виде с диаграммой. Структура отчета определяется на вкладке Layout (см. рис. 4.34).
Просмотреть результат отчета можно на вкладке Preview, не публикуя его при этом
на сервере Report Server. Изображение этого отчета представлено на следующем рисунке:
Рис. 4.35 Предпросмотр созданного отчета «Динамика изменения контингента сотрудников, имеющих научное звание»
4.5.2. Публикация отчета Reporting Services
После создания отчета его необходимо опубликовать на сервере Report Server. Для
управления отчетами на сервере служит Report Manager, в котором можно производить
добавление и удаление отчетов. После добавления отчета на сервер, к нему можно будет
получить доступ любому пользователю сети.
4.5.3. Реализация модуля создания документов с использованием Crystal
Reports
Далее опишем вариант использования системы генерации отчетности Crystal Reports для Microsoft Visual Studio 2005 .NET.
Приведем пример создания отчета в аспектах профсоюзной направленности студентов факультетов.
Для создания отчета необходимо создать новый проект Crystal Report Application:
62
Рис. 4.36. Создание нового проекта генерации отчета
При создании новой Crystal Reports аппликации, мы создаем новый отчет Crystal
Report одновременно с созданием Windows-приложения, для просмотра такого отчета. То
есть выполняя одну задачу, мы осуществляем создание не только самого отчета, но и
Windows-приложения, способного данный отчет грамотно, прозрачно, а самое главное
удобно просмотреть и, в случае необходимости, экспортировать в нужный для конкретного пользователя формат. Такие же возможности доступны и для отчета, доступного через WEB-приложение.
После того, как создана аппликация, необходимо в нее добавить новый отчет:
Рис. 4.37. Добавление нового отчета Crystal Report
После нажатия кнопки добавления, можно воспользоваться мастером создания отчетов, можно использовать в качестве основы уже существующий отчет, а можно просто
создать пустой отчет и строить его самостоятельно с самого начала (см. рис. 4.38).
63
Рис. 4.38. Начальное диалоговое
окно мастера создания отчета
Рис. 4.39. Выбор источника данных для построения
отчетов
Так как мы пока не имеем отчетов вообще, то целесообразно воспользоваться мастером создания отчетов, который помогает построить отчет, не прибегая к сложным и
трудоемким действиям.
Первым делом необходимо выбрать источник данных (см. рис. 4.39).
Выберем наше локальное хранилище данных и перейдем к этапу организации связей (см. рис. 4.40). Далее следует выбрать те поля, которые понадобятся в отчете (см. рис.
4.41).
Рис. 4.40. Этап организации связей между
таблицами
Рис. 4.41. Выбор полей для отображения в
отчете
После этого можно (не обязательно) указать поля по которым будет строиться дерево группировки (поле/поля, по которому/которым будут группироваться все остальные
данные) (см. рис. 4.42).
После этого можно перейти к выбору стиля отчета из списка доступных стандартных стилей (см. рис. 4.43).
64
Рис. 4.43. Выбор стиля отчета
Рис. 4.42. Выбор полей группировки
После того как мы определились со стилем отчета, можно приступить к моделированию представления отчета для пользователей. Для этого используется инспектор полей,
благодаря которому можно сделать отчет любой степени сложности и интерактивности:
Рис. 4.44. Инспектор полей для моделирования отчетов
Вот как выглядит модель отчета после не длинного по времени процесса манипулирования полями, доступными из инспектора полей:
Рис. 4.45. Модель построенного отчета
65
Также как и службы Microsoft Reporting Services, службы Crystal Reports, дают возможность просмотреть отчет, перед тем как опубликовать его или скомпилировать для
него Windows-приложение.
4.5.4. Публикация отчета Crystal Reports
Убедившись, что полученный отчет отображает всю необходимую информацию
можно выполнить следующее:
1. Скомпилировать Windows-приложения, не используя при этом ни строчки программирования. Причем данное приложение также можно опубликовать для получения возможности его запуска из WEB-ориентированного приложения, для чего
необходимо зайти в свойства созданного проекта. И на закладке «Publish», указать
путь публикации:
Рис. 4.46. Публикация Windows-приложения для доступа из WEB-приложения
После этого при попадании на ссылку, указывающую на путь публикации,
пользователь получает следующую картину:
Рис. 4.47. Доступ к Windows-приложению через WEB-приложение
Если у пользователя не хватает каких либо библиотек или компонент для запуска
такого приложения, для него автоматически сгенерирована возможность их установки.
Если же все необходимые компоненты присутствуют, то можно запускать приложение,
нажав на соответствующую ссылку. В итоге локально у пользователя запускается приложение, представляющее созданный отчет, с удобными средствами для просмотра, печати,
66
сохранения и экспорта этих данных в любой другой формат данных. Это приложение
имеет следующий вид:
Рис. 4.48. Приложения для просмотра отчетов
2. Также можно просто опубликовать отчет на WEB-ориентированное приложение
(Web-Site). Для этого создается новый Web-Site из меню создания проектов Microsoft Visual Studio 2005 .NET:
Рис. 4.49. Создание нового Web-Site`а
После этого в него добавляются готовые отчеты. Для них генерируется *.aspxстраница, которая в дальнейшем доступна из WEB-приложения. Пример такой страницы
приведен на следующем рисунке:
Рис. 4.50. Пример *.aspx страницы
Используя различные тэги разметки и смарт-тэги, можно создать страницу любой
сложности и качества. Представленная на рисунке страница была сгенерирована автоматически. В ней лишь было изменено поле заглавия страницы.
67
А вот так выглядит страница аутентификации/авторизации для доступа к отчету, которая также генерируется автоматически в том случае если при настройке источника данных
не было указано использовать конкретный логин/пароль для доступа к отчетам:
Рис. 4.51. Аутентификация/авторизация пользователей для доступа к отчету
После успешного ввода логина/пароля пользователь может просмотреть отчет:
Рис. 4.52. Просмотр опубликованного отчета
Мы говорили о том, что существует возможность экспорта полученных данных в
необходимые пользователю форматы. На следующем рисунке представлен список доступных форматов:
Рис. 4.53. Форматы, в которые можно экспортировать отчет
Все отчеты, получаемы при помощи средства генерации отчетности Crystal Reports
для Microsoft Visual Studio 2005 .NET имеют возможность для интерактивного ввода
входных параметров. Например, нам необходимо получить список студентов, оплативших
членские взносы в профсоюз студентов за определенный период. Значит входными параметрами являются дата левой границы периода и дата правой границы периода. Поэтому
перед получением отчета, пользователь будет приглашен для ввода этих параметров:
68
Рис. 4.54. Пример отчета с интерактивным вводом входных параметров
4.5.5. Создание отчетов с помощью Office Web Components
Для создания отчетов с помощью компонентов Office Web Components, необходимо в офисном приложении Microsoft Excel на лист поместить сводную таблицу. Создадим
отчет на основе куба «06_Dinamika_Uchenye.cube». Вначале необходимо указать источник
данных для сводной таблицы. Источником будет являться наш куб:
Рис. 4.55. Выбор источника для сводной таблицы Microsoft Excel
Далее необходимо в область строк, столбцов и страниц поместить необходимые
измерения, а в область данных – меру «Количество ученых». Это можно сделать с помощью панели «Список полей сводной таблицы»:
69
Рис. 4.56. Формирование сводной таблицы «Контингент сотрудников»
В область строк поместим данные измерения «Национальность», в область столбцов – данные измерения «Пол». В область фильтрации поместим остальные необходимые
измерения: «Научное звание», «Научная степень», «Семейное положение». В итоге мы
получаем интерактивную сводную таблицу, в которой еще на этом этапе можно задавать
параметры сортировки и фильтрации.
Дополнительно можно добавить сводную диаграмму, динамически изменяемую
при изменении данных сводной таблицы.
Результат формирования сводной таблицы представлен на следующем рисунке:
Рис. 4.57. Результат формирования сводной таблицы с диаграммой
И, наконец, сформированную сводную таблицу необходимо опубликовать в виде
веб-отчета.
Примеры остальных выходных документов представлены в приложении «Примеры
выходных документов».
70
4.6. Модуль доступа к выходным документам
В ходе работы, перед нами не ставилось задаче написание какого-либо WEBориентированного приложения. Однако оно является достаточно удобным в том случае,
если имеется необходимость структурной организации всех отчетов для прозрачного и
удобного доступа к каждому из них. Поэтому было принято решение о создании такого
приложения. Стоит добавить, что количество отчетов может изменяться (увеличиваться)
достаточно быстро. И, если мы создадим статическое WEB-приложение, то при увеличении количества отчетов, нам придется каждый раз переделывать его, а это может отнять
большое количество времени. Поэтому, в целях увеличения скорости процесса создания
такого приложения и упрощения методов его реконфигурации было принято решение о
создании специального модуля, который будет выполнять задачу формирования доступа к
опубликованным отчетам.
Схема работы модуля, интегрирующего созданные отчеты в единую структуру показана в приложении «WEB-приложение» на рисунке 1.
Структура данных конфигураций генерируемого Web-приложения, используемая
для построения динамического меню, предоставляющего возможность удобного и быстрого доступа к желаемому отчету или Windows-приложению, осуществляющему такие
возможности представлена в приложении «WEB-приложение на рисунке 2.
Реализация нашего WEB-приложения, выполнялась следующим образом. На
начальном этапе считывается конфигурация генерируемого приложения из хранилища
данных. На ее основе генерируется WEB-приложение, содержащее иерархию ссылок на
отчеты. Конечным итогом реализации является заливка полученного приложения на доступный сервер аппликаций. В нашем случае был использован Apache Tomcat сервер.
Структура проекта, реализующего WEB-приложения, а также пример использования такого приложения представлены в приложении «WEB-приложение» на рисунке 3 и
рисунке 4 соответственно.
Примеры выходных документов, доступных через реализованное WEBприложение, приведены в приложении «Примеры выходных документов».
Выводы
Таким образом, основное предназначение разрабатываемой системы – предоставление конечному пользователю аналитической информации о сотрудниках университета.
Подсистема Бизнес Интеллекта для работы с персоналом вуза позволяет анализировать
количество сотрудников в разрезах различных факторов. В результате конечный пользователь на выходе получает отчеты о количестве сотрудников по половому признаку, возрасту, семейному положению, национальности, месту проживания, а также по должности,
научной степени, научному званию, научной области, подразделению, штату и т.д. Помимо этого предоставляемые отчеты позволяют отследить динамику деятельности сотрудников университета. Это достигается путем анализа динамических характеристик: смены
места работы (подразделения) сотрудником, изменения научного звания, изменения научной степени, прихода новых людей, ухода людей из университета.
Однако функциональность системы далека от того, чтобы предоставлять конечным
пользователям всеобъемлющую информацию о жизни университета. На фоне этого сразу
вырисовываются возможности по расширению функциональности системы в будущем.
Здесь можно выделить два основных направления:
1. Расширение функций системы за счет расширения использования информации
непосредственно о сотрудниках университета (информация о распределении
учебной нагрузки сотрудников, о публикациях и научных разработках, дополнительная информация из системы АСУ «Деканат»);
2. Расширение функций системы за счет использования информации о других
сферах жизни университета, например, о студентах, их успеваемости, участии в
жизни университета.
71
ЗАКЛЮЧЕНИЕ
В результате выполнения данной дипломной работы была разработана подсистема
поддержки принятия решений на базе технологий Бизнес Интеллекта для работы с персоналом Гродненского государственного университета им. Янки Купалы.
Для достижения поставленной цели был решен ряд задач:
 На основе предварительных требований была построена модель подсистемы
поддержки принятия решений для работы с персоналом вуза.
 С помощью средств Microsoft SQL Server был реализован модуль очистки и
загрузки необходимых данных в хранилище данных.
 Средствами анализа данных Analysis Services был реализован модуль формирования многомерного хранилища данных: созданы необходимые для
решения задачи измерения и OLAP-кубы.
 Для предоставления аналитической информации конечным пользователям
был реализован модуль формирования и доступа к выходным документам
посредством возможностей служб Reporting Services и средств Microsoft Office Web Components.
 Проведена опытная эксплуатация системы.
72
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Codd E. F., Codd S. B., Salley C. T. Providing OLAP to User-Analysts: An IT Mandate, Arbor Software Corp. Papers, 1996.
2. David McAmis. Professional Crystal Reports for Visual Studio .NET Second Edition.
Wiley Publishing Inc, 2006.
3. IBM, "Business Intelligence Architecture on S/390. Presentation Guide". SG24574700,
IBM Corporation (2000).
4. Reporting Services technology, Reporting Services Overview, samples [Electronic resourse]. – 2006 – Mode of access: http://www.microsoft.com/sql/reporting/default.asp
5. Архипенков С. аналитические системы на базе Oracle Express OLAP. – М.: Диалог-МИФИ, 1999 – 320 с.
6. Интернет-ресурс о хранилищах данных http://www.morepc.ru/dict/term10162.php
7. Йохан Потгитер «Масштабируемость OLAP-данных» [Электрон. ресурс] – 17 мая
2000. – Режим доступа: http://www.citforum.ru
8. Леонид Черняк «OLAP-средства и Web-технологии» [Электрон. ресурс] – 14 декабря 2001. – Режим доступа: http://www.citforum.ru
9. Лукичев А.С. «Принятие решений с помощью системы многомерного экспрессанализа данных», М.: «Русская редакция», 2003. – с.214.
10. Мамаев Е., Вишневский А. – «Microsoft SQL Server 7 для профессионалов». - СПб
Санкт-Петербург: Издательство «Питер», 2000. – 896 с.
11. Сайт Ивановского ГЭУ http://www.rias.ivanovo.ru
12. Сайт компании ©BaseGroup Labs http://www.basegroup.ru/deductor/cube.htm
13. Сайт компании Intersoft Lab http://wwww.iso.ru
14. Сайт Ставропольского Государственного Университета. http://ais.stavsu.ru
15. Смелянский Р. Л. Возможности системы «Университет» компании «РЕДЛАБ»
для формирования и реализации стратегии развития вуза / Р. Л. Смелянский, М.
В. Иевенко // Университетское управление: практика и анализ. - 2004. – № 3(31).
С. 18-25.
16. Сураджит Чаудхури, Умешвар Дайал, Венкатеш Ганти «Технология баз данных в
системах поддержки принятия решений» [Электрон. ресурс] – Режим доступа:
http://www.citforum.ru
17. Федоров А., Елманова Н. «Введение в OLAP технологии Microsoft» // КомпьютерПресс. - 2001.
18. Форум пользователей OLAP http://omp.databases.olap
19. Шпеник Марк, Следж Оррин «Руководство администратора баз данных Microsoft
SQL Server 2000», - К.: Диалектика, 2002. – 638 с.
20. Электронная документация, статьи, книги о языке SQL и связанных с ним технологий [Электронный ресурс]. – 2006 – Режим доступа: http://www.sql.ru
21. Электронные статьи новости о технологии OLAP, описание существующих
OLAP-приложений [Электронный ресурс]. – 2001 – Режим доступа:
http://olap.ru/home/home.asp
73
ПРИЛОЖЕНИЕ 1. «Структура хранилища данных»
Справочники, содержащие сведения о персонале университета:












OBD («Сотрудники») – центральная таблица, содержащая табельные номера сотрудников и некоторые сведения о них (пол, дата рождения и т.д.);
OKART («Сведения о сотрудниках») - не менее важная таблица, включающая в
себя табельные номера сотрудников и соответствующие ключи других справочников;
XSEMPOL («Семейное положение») – справочник, содержащий виды семейного
полположения;
XNACION («Национальность») – справочник национальностей;
XNAUCH_ZVANIE («Научное звание») – научные звания сотрудников;
XNAUCH_STEPEN («Научная степень») – справочник научных степеней сотрудников;
XOTDEL («Подразделения») – справочник подразделений, включающий в себя
помимо названия иерархию подразделения между собой;
XVID_OTDEL («Вид подразделения») – справочник видов подразделений;
XRAON («Районы и города») – справочник мест проживания сотрудником, содержащий отношения к республике, области, району;
XCITY («Тип города») – справочник типов населенных пунктов;
XDOZN («Должность») – справочник должностей сотрудников;
XSHTAT («Вид штата») – справочник видов штата.
Таблицы, отражающие динамику деятельности сотрудников:





ONAZN («Назначение сотрудников») – таблица, в которой хранятся повторяющиеся табельные номера, даты начала и окончания работы сотрудника на той или
иной должности;
ONAUCH_ZVANIE («Присвоение научного звания») – в этой таблице содержатся табельные номера сотрудников и даты присвоения им научных званий. Таблица
отражает динамику присвоения научных званий сотрудникам с течением времени;
ONAUCH_STEPEN («Присвоение научной степени») – аналогичная таблице
«Присвоение научного звания», содержащая данные о присвоении научных степеней;
XVIDPR («Вид приема») – справочник видов приема сотрудников на работу в
университет;
XUVOLEN («Причины увольнения») – справочник, содержащий причины
увольнения сотрудников с должностей.
Взаимосвязь этих таблиц представлена на следующем рисунке:
74
Рис. 1. Схема базы данных АСУ «Университет»
Структура данных системы «Деканат» представлена на следующем рисунке:
75
Рис. 2. Структура системы данных «Деканат»
Структура данных системы «Профсоюзный комитет» представлен на следующем
рисунке:
Students
OplataPutevki
OplataLgotAbonementy
TAB_NUM
TAB_NUM
TAB_NUM
FIO
DATE
DATE
FAKULTET
SUMMA
SUMMA
KURS
GRUPPA
SPEC
OplataNalom
FORM_OBUCH
TAB_NUM
BIRTHDAY
DATE
ADDRESS
OplataDengiPodOtchet
TAB_NUM
DATE
SUMMA
SUMMA
PHONE1
PHONE2
NUMBER_ZACHETKA
STATUS
Children
TAB_NUM
MEMBER_IN_PROFSOYUZ
CHILDREN
Vznosy
MONTH
YEAR
NUMBER_OF_BILET
STAVKA
DATE_OF_VYDACHA
PROCENTS
WorkField
SERIA
OplataMatDapamoga
NUMBER
WHO_GAVE
TAB_NUM
DATE_OF_GIVING
DATE
PAYING_OF_CUSTOMS
SUMMA
POSITION
Dispanser
id
TAB_NUM
PROFILE
Рис. 3. Структура системы данных «Профсоюзный комитет»
76
На следующем рисунке показана структура представления, которое было созданного для использования при построении измерений, мер, а также многомерных представлений данных (olap-кубов):
Рис. 4. Структура представления для создания многомерных кубов данных системы
77
ПРИЛОЖЕНИЕ 2. «Приложение работы с данными «Профсоюзный комитет»
На следующем рисунке представлена форма обновления базы данных «Профсоюзный комитет»:
Рис. 1. Форма обновления информации из АСУ «Университет»
На следующем рисунке показана форма редактирования имеющейся информации в
базе данных:
Рис. 2. Форма редактирования информации о студенте
Далее представлен пример формы для ввода информации о членских взносах:
Рис. 3. Пример ввода информации о членских взносах.
Пример создания фильтра критериев приведен ниже:
78
Рис. 4. Пример создания фильтра критериев
На следующем рисунке показан пример вызова доступных отчетов:
Рис. 5. Пример вызова необходимого отчета
Пример готового отчета, сгенерированного средствами стандартных компонентов
среды программирования Borland Delphi представлен на следующем рисунке.
Рис. 6. Пример готового отчета средствами Borland Delphi.
79
ПРИЛОЖЕНИЕ 3. «Измерения проекта»
Список построенных измерений, используемых в проекте, представлен на следующем рисунке:
Рис.1. Список построенных измерений.
Далее приведены примеры некоторых измерений:

«03_VID_PRIEMA.dim» - измерение по видам приема:
80

«08_AL_DATA_DPRINYAT.dim» - измерения по дате принятия на работу:

«12_PLACE_OF_LIVING_ALL.dim» - измерения по месту жительства:

«14_NAMES_OF_NAUCH_STEPEN.dim» - измерения научных степеней:

«15_NAMES_OF_NAUCH_ZVANIE.dim» - измерения научных званий:

«16_NACIONALITIES.dim» - измерения по национальностям:
81

«18_POL.dim» - измерения по полу:

«19_REASONS_UVOLNENIYA.dim» - измерения по причине увольнения:

«20_SEMEINOE_POLOZHENIE.dim» - измерения по семейному положению:
82
ПРИЛОЖЕНИЕ 4. «Структура кубов системы»
Измерения для куба, содержащего информацию о динамике получения научных
званий, показаны на следующем рисунке:
Рис. 1. Измерения для куба «01_Dinamika_Nauch_Zvanie.cube»
Структура куба «01_Dinamika_Nauch_Zvanie.cube» показана на следующем рисунке:
Рис. 2. Схема куба «01_Dinamika_Nauch_Zvanie.cube»
На данной схеме с желтым заголовком изображены таблицы фактов, которые с помощью видимых связей соединены с таблицами соответствующих измерений.
Измерения для куба, содержащего информацию о динамике получения научных
степеней, показаны на следующем рисунке:
Рис. 3. Измерения для куба «02_Dinamika_Nauch_Stepen.cube»
83
Структура куба «02_Dinamika_Nauch_Stepen.cube» показана на следующем рисунке:
Рис. 4. Схема куба «02_Dinamika_Nauch_Stepen.cube»
Измерения для куба, содержащего информацию о динамике принятых сотрудников, показаны на следующем рисунке:
Рис. 5. Измерения для куба «03_Dinamika_Prinyatye.cube»
Структура куба «03_Dinamika_Prinyatye.cube» показана на следующем рисунке:
84
Рис. 6. Схема куба «03_Dinamika_Prinyatye.cube»
На следующем рисунке показаны все измерения, содержащего информацию о контингенте работающих сотрудников:
Рис. 7. Измерения, использованные в кубе «04_Dinamika_Rabotayuschie.cube»
Структура куба «04_ Dinamika_Rabotayuschie» показана на следующем рисунке:
85
Рис. 8. Схема куба «04_Dinamika_Rabotayuschie.cube»
Измерения для куба, содержащего информацию о динамике уволенных сотрудников, показаны на следующем рисунке:
Рис. 9. Измерения для куба «05_Dinamika_Uvolennye.cube»
Структура куба «05_Dinamika_Uvolennye.cube» показана на следующем рисунке:
86
Рис. 10. Схема куба «05_Dinamika_Uvolennye.cube»
Измерения для куба, содержащего информацию о контингенте ученых сотрудников, показаны на следующем рисунке:
Рис. 11. Измерения для куба «06_Dinamika_Uchenye.cube»
Структура куба «06_Dinamika_Uchenye.cube» показана на следующем рисунке:
87
Рис. 12. Схема куба «06_Dinamika_Uchenye.cube»
88
ПРИЛОЖЕНИЕ 5. «WEB-приложение»
На рисунке ниже показана схема работы модуля, интегрирующего созданные отчеты в единую структуру (WEB-приложение):
Рис. 4.58. Схема работы модуля, интегрирующего созданные отчеты в единую структуру
На следующем рисунке представлена структура данных конфигураций генерируемого Web-приложения, используемая для построения динамического меню, предоставляющего возможность удобного и быстрого доступа к желаемому отчету или Windowsприложению, осуществляющему такие возможности представлена в приложении «WEBприложение на рис.
main
item_name
value
structure_modules_manager
labels
id
table_structure
id
name
modules
width
id
height
structure_module
font_size
module_name
submodules_list
hlink
module_label_id
hlink_prefiks
id
hlink_report_path
module_id
submodule_name
submodule_label_id
report_list
id
subsubmodules_list
id
subsubmodule_id
report_id
report
id
name
label_id
length
submodule_id
subsubmodule_name
subsubmodule_label_id
Рис. 4.59. Структура данных конфигураций WEB-приложения
89
На следующем рисунке показан пример использования приложения, предоставляющее удобный доступ к любому отчету, который необходим конкретному пользователю
системы.
Рис. 1 Пример сгенерированного WEB-приложения
На следующем рисунке показана структура проекта, реализующего данное WEBприложение:
Рис. 2. Структура проекта, реализующего WEB-приложение
90
ПРИЛОЖЕНИЕ 6. «Примеры выходных документов»
Приведем полный список полученных выходных документов:
id
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Имя
Список сирот (п)
Список сирот (в)
Из многодетной семьи (п)
Из многодетной семьи (в)
ЧАЭС (п)
ЧАЭС (в)
Инвалиды (п)
Инвалиды (в)
Семейные (п)
Семейные (в)
Имеющие детей (п)
Имеющие детей (в)
Диспансер (п)
Диспансер (в)
Без общежития (п)
Без общежития (в)
Без членства в профсоюзе (п)
Без членства в профсоюзе (в)
Средний доход (п)
Средний доход (в)
Льготные абонементы (п)
Льготные абонементы (в)
Мат. помощь (п)
Мат. помощь (в)
Деньги под отчет (п)
Деньги под отчет (в)
Оплата членства (п)
Оплата члентсва (в)
Путевки (п)
Путевки (в)
Мат. помощь в разрезе дат (п)
Мат. помощь в разрезе дат (в)
Льготные абонементы в разрезе дат (п)
Льготные абонементы в разрезе дат (в)
Путевки в разрезе дат (п)
Путевки в разрезе дат (в)
Деньги под отчет в разрезе дат (п)
Деньги под отчет в разрезе дат (в)
Оплата членства в разрезе дат (п)
Оплата членства в разрезе дат (в)
Средний балл (п)
Средний балл (в)
Неуспевающие студенты (п)
Неуспевающие студенты (в)
Неуспевающие студенты (10б) (п)
Неуспевающие студенты (10б) (в)
id
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Имя
Неуспевающие студенты (5б) (п)
Неуспевающие студенты (5б) (в)
Успевающие студенты (п)
Успевающие студенты (в)
Успевающие студенты (10б) (п)
Успевающие студенты (10б) (в)
Успевающие студенты (5б) (п)
Успевающие студенты (5б) (в)
Средние студенты (п)
Средние студенты (в)
Средние студенты (10б) (п)
Средние студенты (10б) (в)
Средние студенты (5б) (п)
Средние студенты (5б) (в)
Вольнослушатели (п)
Вольнослушатели (в)
Сервер отчетов отдела кадров
Сервер отчетов деканата
Средний балл по семестрам
Выписка к диплому студента
Динамика имеющих научную степень
Научные степени в разрезе отраслей и лет
Научные звания по годам
Динамика получения научных степеней
Динамика научных степеней по отраслям
Динамика начных степеней
Научные степени в разрезе наций и лет
Динамика получения научных званий
Научные звания в разрезе званий по годам
Контингент имеющих научное звание
Научные звание в разрезе наций по годам
Динамика принятых в разрезе должностей
Динамика принятых (график)
Динамика принятых по виду приема
Динамика принятых по виду (по годам)
Динамика приянтых по полу, виду, годам
Контингент по подразделениям и полу (1)
Контингент по подразделениям и полу (2)
Контингент по подразделениям и полу (3)
Контингент работающих по полу
Динамика уволенных по должностям и полу
Динамика уволенных по разрезе причин
Динамика уволенных по причинам и годам
Динамика уволенных в разрезе пола и лет
Динамика уволенных (график)
Таблица 1. Список полученных выходных документов
91
На следующем рисунке показан пример выходного документа «Динамика изменения контингента сотрудников, имеющих научную степень». В отчете показана динамика
изменения количества сотрудников, имеющих научную степень в разрезе пола и лет:
Рис. 1. «Динамика изменения контингента сотрудников, имеющих научную степень»
На следующем рисунке показан пример выходного документа «Динамика уволенных с работы сотрудников в разрезе причин увольнения по годам». В отчете показана динамика изменения количества уволенных сотрудников в разрезе причин увольнения по
годам:
Рис. 2. «Динамика уволенных с работы сотрудников в разрезе причин увольнения по годам»
92
На следующем рисунке показан пример выходного документа «Контингент сотрудников, в разрезе научных званий, по годам». В отчете показано количество сотрудников в разрезе научных званий, пола по годам:
Рис. 3. «Контингент сотрудников, в разрезе научных званий, по годам»
На следующем рисунке показан пример выходного документа «Выписка к диплому». В отчете показана успеваемость студента в разрезе дисциплин курсов и семестров:
Рис. 4. «Выписка к диплому»
93
На следующем рисунке приведен пример отчета о средней успеваемости студентов
в разрезе лет обучения и семестров (курсов):
Рис. 5. «Средняя успеваемость студента в разрезе лет обучения»
На следующем рисунке представлен отчет о динамике уволенных сотрудников в
разрезе причин увольнения и пола по годам:
Рис. 6. «Динамика уволенных в разрезе причин увольнения и пола по годам»
94
На следующем рисунке представлен отчет об контингенте сотрудников в разрезе
подразделений и пола:
Рис. 7. «Контингент сотрудников в разрезе подразделений и пола»
Следующий выходной документ предоставляет список студентов из многодетной семьи:
Рис. 8. «Список студентов из многодетной семьи»
Данный выходной документ представляет списочную информацию о количестве
студентов, не состоящих в профсоюзе студентов:
95
Рис. 8. «Список студентов, не состоящих в профсоюзе»
На следующем рисунке представлен отчет со списочной информацией об успевающих студентах:
Рис. 9. «Список успевающих студентов»
Download