Взаимосвязь компонентов многомерного представления данных
При создании в приложении формы для многомерного представления данных следует помнить, что при этом обязательно должны решаться следующие задачи:
должен быть создан группирующий и суммирующий запрос
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 и открыть набор данных, то вся цепочка заработает, причем ее поведение ничем не отличается от поведения во время выполнения приложения.
Теперь, когда мы узнали, как объединить компоненты многомерного представления данных в единую систему, настало время более подробно изучить возможности каждого компонента.
Знаете ли Вы, почему "черные дыры" - фикция? Согласно релятивистской мифологии, "чёрная дыра - это область в пространстве-времени, гравитационное притяжение которой настолько велико, что покинуть её не могут даже объекты, движущиеся со скоростью света (в том числе и кванты самого света). Граница этой области называется горизонтом событий, а её характерный размер - гравитационным радиусом. В простейшем случае сферически симметричной чёрной дыры он равен радиусу Шварцшильда". На самом деле миф о черных дырах есть порождение мифа о фотоне - пушечном ядре. Этот миф родился еще в античные времена. Математическое развитие он получил в трудах Исаака Ньютона в виде корпускулярной теории света. Корпускуле света приписывалась масса. Из этого следовало, что при высоких ускорениях свободного падения возможен поворот траектории луча света вспять, по параболе, как это происходит с пушечным ядром в гравитационном поле Земли. Отсюда родились сказки о "радиусе Шварцшильда", "черных дырах Хокинга" и прочих безудержных фантазиях пропагандистов релятивизма. Впрочем, эти сказки несколько древнее. В 1795 году математик Пьер Симон Лаплас писал: "Если бы диаметр светящейся звезды с той же плотностью, что и Земля, в 250 раз превосходил бы диаметр Солнца, то вследствие притяжения звезды ни один из испущенных ею лучей не смог бы дойти до нас; следовательно, не исключено, что самые большие из светящихся тел по этой причине являются невидимыми." [цитата по Брагинский В.Б., Полнарёв А. Г. Удивительная гравитация. - М., Наука, 1985] Однако, как выяснилось в 20-м веке, фотон не обладает массой и не может взаимодействовать с гравитационным полем как весомое вещество. Фотон - это квантованная электромагнитная волна, то есть даже не объект, а процесс. А процессы не могут иметь веса, так как они не являются вещественными объектами. Это всего-лишь движение некоторой среды. (сравните с аналогами: движение воды, движение воздуха, колебания почвы). Подробнее читайте в FAQ по эфирной физике.