Взаимосвязь компонентов многомерного представления данных
При создании в приложении формы для многомерного представления данных следует помнить, что при этом обязательно должны решаться следующие задачи:
должен быть создан группирующий и суммирующий запрос
SQL, обеспечивающий открытие набора данных для кросстаба;
перед отображением данных необходимо настроить параметры
размерностей кросстаба;
непосредственный показ данных в кросстабе;
работающий кросстаб должен эффективно управляться на
уровне размерностей.
Для этого в форме приложения требуется разместить как минимум пять компонентов со страницы Decision Cube Палитры компонентов.
Для создания запроса SQL можно использовать компонент
TDecisionQuery или обычный
компонент TQuery.
Запрос должен быть связан с компонентом TDecisionCube, который осуществляет подготовку набора данных запроса к многомерному показу.
Для соединения многомерного набора данных с компонентом отображения данных используется компонент
TDecisionSource — полный функциональный аналог
TDataSource. Этот компонент, в свою очередь, должен связываться и с набором данных, и с инструментом многомерного представления данных.
Непосредственный показ многомерного набора данных проводится при помощи компонентов
TDecisionGrid и TDecisionGraph. Они должны поддерживать соединение с компонентом
TDecisionSource.
Наконец, управление многомерным представлением данных реализует компонент
TDecisionPivot, он также должен быть связан с компонентом
TDecisionSource.
Допустим, что на форме расположены следующие компоненты:
TDecisionQuery по
имени DecisionQuery1;
TDecisionCube по
имени DecisionCubel;
TDecisionSource по
имени DecisionSourcel;
TDecisionGrid по
имени DecisionGrid1;
TDecisionPivot по
имени DecisionPivotl.
Тогда для того, чтобы связать все эти компоненты в единый работающий механизм многомерного представления данных, нужно установить значения для их важнейших свойств. Значения свойств представлены в табл. 30.1.
Таблица 30.1. Как связать
компоненты многомерного представления данных
Свойство
Значение
Описание
TBecisionCube
DataSet
DecisionQuery1
Определяет компонент доступа к данным,
который создает набор данных
TDecisionSource
DecisionCube
DecisionCubel
Указывает на компонент формирования многомерного набора данных
TDecisionGrid
DecisionSource
DecisionSourcel
Ссылается на компонент TDecisionSource
TDecisionPivot
DecisionSource
DecisionSourcel
Ссылается на компонент TDecisionSource
Если задать текст запроса SQL и открыть набор данных, то вся цепочка заработает, причем ее поведение ничем не отличается от поведения во время выполнения приложения.
Теперь, когда мы узнали, как объединить компоненты многомерного представления данных в единую систему, настало время более подробно изучить возможности каждого компонента.
Знаете ли Вы, как разрешается парадокс Ольберса? (Фотометрический парадокс, парадокс Ольберса - это один из парадоксов космологии, заключающийся в том, что во Вселенной, равномерно заполненной звёздами, яркость неба (в том числе ночного) должна быть примерно равна яркости солнечного диска. Это должно иметь место потому, что по любому направлению неба луч зрения рано или поздно упрется в поверхность звезды. Иными словами парадос Ольберса заключается в том, что если Вселенная бесконечна, то черного неба мы не увидим, так как излучение дальних звезд будет суммироваться с излучением ближних, и небо должно иметь среднюю температуру фотосфер звезд. При поглощении света межзвездным веществом, оно будет разогреваться до температуры звездных фотосфер и излучать также ярко, как звезды. Однако в дело вступает явление "усталости света", открытое Эдвином Хабблом, который показал, что чем дальше от нас расположена галактика, тем больше становится красным свет ее излучения, то есть фотоны как бы "устают", отдают свою энергию межзвездной среде. На очень больших расстояниях галактики видны только в радиодиапазоне, так как их свет вовсе потерял энергию идя через бескрайние просторы Вселенной. Подробнее читайте в FAQ по эфирной физике.