Компонент 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 | Задает режим отображения данных в кросстабе:
|
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 | Вызывается после того, как занимаемый кросстабом объем памяти превысит заданный предел |