Компонент 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 |
Вызывается после того, как занимаемый кросстабом объем памяти превысит заданный предел |
|
Объявление
|
Тип
|
Описание
|
|
type TActiveFlags = (diActive, diAsNeeded, dilnactive);
property ActiveFlag: TActiveFlags; |
Pb
|
Определяет режим отображения данных размерности |
|
property BaseName: string;
|
Pb
|
Содержит имя поля размерности в таблице базы данных |
|
property BinFormat: string;
|
Pu
|
Определяет способ форматирования диапазона значений размерности |
|
type TBinType = (binNone, binYear, binQuarter, binMonth, binSet, binCustom) ;
property BinType: TBinType; |
Pb
|
Определяет способ группирования данных в размерности |
|
type TDimFlags = (dimDimension, dimSum, dimCount, dimAverage, dimMin, dimMax, dimGenericAgg, dimUnknown) ;
property DimensionType: TDimFlags ; |
Pb
|
Определяет тип размерности |
|
property FieldName: String;
|
Pb
|
Содержит имя поля в наборе данных |
|
property FieldType: TFieldType;
|
Pu
|
Определяет тип поля |
|
property Format: String;
|
Pu
|
Задает форматирование данных размерности |
|
property Loaded: Boolean;
|
Ro
|
Значение True говорит о том, что данный элемент загружен в многомерный набор данных |
property StartDate: TDate;
|
Pu
|
Определяет начальный элемент для группировки по дате |
|
property StartValue: String;
|
Pu
|
Определяет начальный элемент : для группировки по значению |
|
property ValueCount: Integer;
|
Pb
|
Возвращает число уникальных элементов в размерности |