Взаимосвязь компонентов многомерного представления данных

При создании в приложении формы для многомерного представления данных следует помнить, что при этом обязательно должны решаться следующие задачи:

Для этого в форме приложения требуется разместить как минимум пять компонентов со страницы Decision Cube Палитры компонентов.

Для создания запроса SQL можно использовать компонент TDecisionQuery или обычный компонент  TQuery.

Запрос должен быть связан с компонентом TDecisionCube, который осуществляет подготовку набора данных запроса к многомерному показу.

Для соединения многомерного набора данных с компонентом отображения данных используется компонент TDecisionSource — полный функциональный аналог TDataSource. Этот компонент, в свою очередь, должен связываться и с набором данных, и с инструментом многомерного представления данных.

Непосредственный показ многомерного набора данных проводится при помощи компонентов TDecisionGrid и TDecisionGraph. Они должны поддерживать соединение с компонентом TDecisionSource.

Наконец, управление многомерным представлением данных реализует компонент TDecisionPivot, он также должен быть связан с компонентом TDecisionSource.

Допустим, что на форме расположены следующие компоненты:

Тогда для того, чтобы связать все эти компоненты в единый работающий механизм многомерного представления данных, нужно установить значения для их важнейших свойств. Значения свойств представлены в табл. 30.1.

Таблица 30.1. Как связать компоненты многомерного представления данных

Свойство

Значение

Описание

TBecisionCube

DataSet

DecisionQuery1

Определяет компонент доступа к данным,  который создает набор данных

TDecisionSource

DecisionCube

DecisionCubel

Указывает на компонент формирования многомерного набора данных

TDecisionGrid

DecisionSource

DecisionSourcel

Ссылается на компонент TDecisionSource

TDecisionPivot

DecisionSource

DecisionSourcel

Ссылается на компонент TDecisionSource

Если задать текст запроса SQL и открыть набор данных, то вся цепочка заработает, причем ее поведение ничем не отличается от поведения во время выполнения приложения.

Теперь, когда мы узнали, как объединить компоненты многомерного представления данных в единую систему, настало время более подробно изучить возможности каждого компонента.