Иллюстрированный самоучитель по Delphi 7 для профессионалов

Компонент TDecisionCube

Компонент TDecisionCube осуществляет преобразование набора данных, который содержится в компоненте TDecisionQuery, к виду, доступному для отображения визуальными компонентами многомерного представления данных (табл. 30.2).

Обычную таблицу набора данных компонент преобразует в многомерный кросстаб. Число размерностей создаваемого кросстаба зависит от числа полей данных набора данных. Значения в ячейках кросстаба зависят от типа агрегатной функции в запросе SQL.

Таблица 30.2. Свойства и методы компонента TDecisionCube.

Объявление Тип Описание
Свойства
property Active: Boolean; Pu Разрешает или запрещает преобразование набора данных в кросстаб
property BinData: Boolean; Ro Значение True означает, что хотя бы одна размерность находится в свернутом состоянии (данные не отображаются)
property Capacity: Integer; Pu Определяет число байтов, используемых для хранения многомерного массива
property CurrentSuramary: Integer; Pu Содержит индекс текущей суммы кросстаба
property DataSet: TDataSet; Pb Ссылка на экземпляр набора данных, который отображается в кросстабе
type TCubeDesignState = (dsNoData, dsMetaData, dsDimensionData, dsAHData);
property DesignState: TCubeDesignState;
Pu Задает режим отображения данных в кросстабе:
  • dsNoData – во время разработки данные не видны;
  • dsMetaData – видны названия размерностей;
  • dsDimensionData – видны названия размерностей и значения, суммы не видны;
  • dsAHData – видны все данные
property DimensionCount: Integer; Ro Возвращает число размерностей
property DimensionMap: TCubeDims; Pb Индексированный список ссылок на объекты параметров размерностей
property DimensionMapCount: Integer; Pb Общее число полей набора данных, включая поля размерностей и сумм
property MaxCells: Integer; Pb Задает максимальное число ячеек кросстаба
property MaxDimensions: Integer; Pb Задает максимальное число размерностей
property MaxSummaries: Integer; Pb Задает максимальное число сумм
property ShowProgressDialog: Boolean; Pb При значении True при подготовке кросстаба отображается индикатор
property SummaryCount: Integer; Ro Возвращает число активных сумм кросстаба
Методы
function GetDetailSQL (ValueArray: TSmalllntArray; SelectList: string; bActive: Boolean): string; Pu Возвращает текст запроса SQL, который может быть использован для создания набора данных, включающего данные из кросстаба без сумм
function GetSQL(ValueArray: TSrralllntArray; bActive: Boolean): string; Pu Возвращает текст запроса SQL, который может быть использован для создания набора данных, включающего данные из кросстаба без сумм
procedure ShowCubeDialog; Pu Вызывает специализированный редактор компонента
procedure Refresh (DimensionMap: TCubeDims; bForce: Boolean);   Обновляет список объектов параметров размерностей
Методы-обработчики событий
type TCubeRefreshEvent = procedure (DataCube: TCustomDataStore; DimMap: TCubeDims) of object;
property OnRefresh: TCubeRefreshEvent; property AfterClose: TCubeNotifyEvent;
Pb Вызывается сразу после закрытия компонента (Active: = False)
property AfterOpen: TCubeNot if yEvent; Pb Вызывается сразу после открытия компонента (Active: = False)
property BeforeClose: TCubeNotif yEvent; Pb Вызывается перед закрытием компонента (Active: = False)
property BeforeOpen: TCubeNotifyEvent; Pb Вызывается перед открытием компонента (Active: = False)
TErrorAction = (eaFail, eaContinue);
TCapacityErrorEvent = procedure (var EAction: TErrorAction) of object;
property OnLowCapacity: TCapacityErrorEvent;
Pb Вызывается после того, как занимаемый кросстабом объем памяти превысит заданный предел
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.