Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Анализ данных cредствами многомерного куба Decision Cube




Средства анализа данных (OLAP, On Line Analytical Processing) представ­лены в Delphi на панели Decision Cube (Многомерный куб).

Рассмотрим порядок использования компонентов этой панели на примере анализа хода строительства по заказчикам и подрядчикам.

1. Создадим новый проект и на форме размеcтим компонент Deci­sionQuery. Выполним команду Decision Query Editor из кон­тек­ст­но­го меню этого компонента для вызова конструктора запросов (рис. 3.13.1).

2. Нажмем кнопку SQL Builder для построения запроса (рис. 3.13.2).

3. Перенесем поля Nz, Np, Ns в окно Dimension (измерение куба) и итоговые поля в клетках таблицы: итоги сметных и освоенных сумм (Sum(Ss),Sum(Fs)) и число строек (Count(Ns)) перенесем в окно Summaries.

4. Перейдем на страницу SQL Query и откорректируем текст коман­ды SQL: во фразе Select укажем наименование колонок (без пробелов) «Заказ», «Подряд», «Стройка», «Смета», «Освоено», «Строек» (рис.3.13.3). Нажмем кнопку Edit Query.

 
 

Рис. 3.13.1. Выбор данных, включаемых в таблицу анализа

 
 

Рис. 3.13.2. Окно построителя запросов


Рис. 3.13.3. Страница с текстом команды запроса SQL

 

Разместим на форме вычислительный компонент DecisionCube со свойством DataSet=DecisionQuery1.

5. Разместим компонент связи DecisionSource со свойством DecisionCube=DecisionCube1.

6. Разместим компоненты пользовательского интерфейса DecisionPivot и вывода результирующей таблицы DecisionGrid со свойствами DecisionSource=DecisionSource1.

7. Установим свойство Active=True у компонента Decision­Query1, что вызовет цепочку расчетов и вывод таблицы (рис. 3.13.4).

 
 

Рис. 3.13.4. Итоговая таблица и диаграмма анализа строительства

 

Щелчок мышкой по кружку с плюсом или минусом или по кнопкам с наименованиями полей (осей измерений) на объекте DecisionPivot разворачивает или сворачивает соответ­ствующие колонки или столбцы в таблице. Используя контекстное меню кнопок полей (осей измерений), можно перемещать эти поля по осям. Первая кнопка объекта DecisionPivot позволяет выбрать тип итога в ячейках результирующей таблицы.

8. Для получения графического представ­ле­ния результирующей таб­лицы анализа разместим компонент DecisionGraph (наследник компонента Chart (п. 2.3.7.7)) со свойством DecisionSour­ce=Deci­sionSource1 (рис. 3.13.4). Вид диаграмммы можно настроить аналогично компоненту Chart (п. 2.3.7.7).

9. Выполним программу и проверим результат.

3.14. Клиент‑серверные СУБД

Клиент‑серверные СУБД обладают дополнительными возможностя­ми (например, запросы выполняются не на клиентской машине, а на от­дель­­­ном сервере‑базы данных и только результат возвращается и отоб­ра­жается на клиентской машине, что разгружает каналы передачи данных). Рассмотрим основные компоненты, применяемые дополнительно для орга­ни­зации работы таких СУБД.

Session ‑ компонент организует связь с конкретной ба­зой, учитывая ее особенности. Если таких особенностей нет, то ком­по­нент можно не использовать, и будет создан стандартный сеанс под именем Session.

Основные свойства

AutoSessionName ‑ генерируется уникальное имя сеанса (True).

ConfigMode ‑ настройка BDE для поддержки псевдонимов.

DatabaseCount ‑ число активный баз данных.

SessionName ‑ уникальное имя сеанса для ссылки на компонент сеанса.

SQLHourGlass ‑ указатель в виде песочных часов при работе BDE.

Основные методы

Open/Close ‑ открытие/отключение всех баз и закрытие сеанса.

CloseDatabase(Database:TDatabase) ‑ закрытие связи с конкретной базой.

GetDatabaseNames(List:TString) ‑ получение списка всех псевдонимов баз.

GetTablebaseNames(...) ‑ получение списка названий всех таблиц базы.

OpenDatabase(S):TDatabase ‑ открытие базы S или создание временной.

Database ‑ компонент обязателен и описывает подключаемую базу данных.

Основные свойства

AliasName/DriverName ‑ псевдоним базы/имя драйвера BDE (например, STANDARD). Задается одно из этих двух свойств.

Connected ‑ имеет значение True, если связь с базой установлена.

DatabaseName ‑ имя псевдонима или полное имя файла с базой данных.

DataSets ‑ массив активных наборов данных.

Exclusive ‑ монопольное использование базы (True).

InTransaction ‑ имеет значение True, если выполняется транзакция.

IsSQLBased ‑ имеет значение True, если используется драйвер SQL Links или ODBC.

KeepConnection ‑ имеет значение True, если программа сохраняет связь.

Params ‑ параметры подсоединения к псевдониму BDE.

Session ‑ ссылка на объект‑сеанс, если он есть и Connected=True.

SessionAlias ‑ имеет значение True, если используется псевдоним сеанса.

SessionName ‑ название используемого сеанса.

ReadOnly ‑ открытие базы только для чтения (True).

Temporary ‑ использование временной базы (True).

TraceFlags ‑ отслеживание работы над базой утилитой SQL Monitor.

TransIsolation ‑ способ работы транзакций данной программы и других прило­же­ний: tiDirtyRead (разрешение чтения изменений данных до завер­шения транзакции), tiDirtyCommitted (разрешение чтения изменений дан­ных после завершения транзакции), tiRepeatableRead (чтение данных, кото­рые гарантированно хранятся в таблице без анализа других транзакций).

Основные методы

ApplyUpdates(...) ‑ завершение всех транзакций.

StartTransaction, Commit, Rollback ‑ начать, завершить, отменить транзак­цию (п. 3.8).

Execute(S,...) ‑ выполнение команды языка запросов SQL из строки S.

ValidateName(S) ‑ процедура генерирует исключение EdatebaseError, если база S уже активна.

Обработчик события OnLogin (подключения базы) имеет парамет­ры: Database (псевдоним базы) и LoginParams (строка с параметрами для базы, например, имя пользователя и пароль).

StoredProc ‑ хранимая процедура (например, на языках Delphi, Паскаль, SQL или Java), выполняемая не на клиентской машине, а на сервере базы.

Основные свойства

Params ‑ массив типа TParam с параметрами хранимой процедуры.

ParamBindMode ‑ передача параметров хранимой процедуре по имени (pbByName) или по порядковому номеру (pbByNumber).

ParamCount ‑ число параметров хранимой процедуры.

Prepared ‑ имеет значение True, если процедура готова (отком­пили­рова­на) для выполнения.

StoredProcName ‑ наименование хранимой процедуры на сервере.

Основные методы

CopyParams(Value:TParams) ‑ копирование параметров хранимой процеду­ры в список Value.

DescriptionsAvailable: Boolean ‑ возвращает True, если можно получить дополнительную информация о параметрах процедуры.

ExecProc ‑ запуск процедуры на выполнение.

GetResults - возвращение выходного набора от СУБД Sybase или MSSQL.

ParamByName(S):TParam ‑ доступ к параметру под именем S.

Prepare ‑ подготавливает хранимую процедуру к выполнению.

UnPrepare ‑ отменяет подготовку хранимой процедуры к выполнению.

Пример:

StoredProc1.Params[0].AsString:=Edit2.Text; //передача параметра из Edit2.

StoredProc1.Prepare; //подготовка хранимой процедуры к выполнению.

StoredProc1.ExecProc; //выполнение хранимой процедуры.

StoredProc1.Getresults; //возвращение результата в параметре Output.

Edit2.Text:=StoredProc1.ParamByname('Output').AsString;//вывод результата.

BatchMove ‑ добавление, удаление или копирование записей.

Основные свойства

Destination/Source ‑ исходный/выходной набор данных (таблица, запрос).

AbortOnKeyViol или AbortOnProblem ‑ имеет значение True, если обработ­ка прерывается из‑за нарушения целостности базы или несоответствия типов полей.

ChangedCount ‑ число записей в исходной таблице.

CommitCount ‑ число записей в транзакции (для разбиения таблицы).

KeyViolCount ‑ число изменяемых записей, нарушающих целостность ключей.

Mappings ‑ список строк связей между полями исходной и выходной таблиц вида: поле=поле.

Mode ‑ режимы работы метода Execute: batAppend (добавить из исходной в вы­­хо­дную), batUpdate (замена записей в выходной таблице исходными по ключу), batAppendUpdate (режим batUpdate и добавление отсут­ствующих), batCopy (копирование исходной в выходную), batDeleted (уда­ле­­ние запи­сей из выходной таблицы, совпадающих по ключу с исходны­ми).

ProblemCount/MoveCount ‑ число не/скопированных записей.

RecordCount ‑ ограничение на максимальное число копируемых записей.

Transliterate ‑ вызов драйвера перекодировки символов.

Метод Execute осуществляет копирование.

UpdateSQL ‑ обновление набора данных (запроса), не пред­назна­чен­­но­го для изменения. Компонент связывается с объектом Query или StoredProc через свойство UpdateObject этих объектов. Затем за­дают­ся ко­манды SQL для автоматического выполнения после фор­ми­ро­ва­ния набора.

Основные свойства

DataSet, DeleteSQL, InsertSQL, ModifySQL ‑ набор данных; команда SQL на удаление; добавление или обновления записей.

Query - ссылка на объект Query, который описывает работу команды SQL.

Основные методы

Apply(UpdateKind: TUpdateKind) ‑ задание параметров для команды SQL и ее исполнение.

ExecSQL(UpdateKind: TUpdateKind) ‑ выполнение команды SQL.

SetParams(UpdateKind: TUpdateKind) ‑установка параметров команды SQL.

NestedTable ‑ доступ к вложенной целой таблице в одно поле базы. В свойстве DataSetField указывается имя поля с таблицами.

Кэширование обновления позволяет хранить изменения в локальном буфере на клиентской машине и отправлять их в базу данных на сервере ба­зы методом ApplyUpdates, что экономит время, но задерживает внесе­ние текущих изменений в базу. Режим кэширования устанавливается свойст­вом CachedUpdates компонентов Table, Query, StoredProc. Этот про­цесс отсле­жи­вается событиями OnUpdateRecord и OnUpdateError.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...