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