1.8.7. OLAP/Pivot¶
See also
1.8.7.1. TbtkOLAPDimension¶
-
class
TbtkOLAPDimension
¶ Размерность OLAP-структуры
-
Order
: Integer¶ Номера, по возрастанию которых определяет порядок следования размерностей в своей области (Area) (Read-Write)
Return type: Integer <pascal> Selection.OLAP.DimensionByName('TestDimension').Order := 4; </pascal>
-
Name
: String¶ Имя размерности (Read-Only)
Return type: String <pascal> str := ''; for i := 0 to Selection.OLAP.DimensionCount - 1 do str := str + Selection.OLAP.Dimensions[i].Name + #13#10; ShowMessage(str); </pascal>
-
ActiveHierarchy
: TbtkOLAPHierarchy¶ Активная иерархия размерности (Read-Only)
Return type: TbtkOLAPHierarchy <pascal> Selection.OLAP.DimensionByName('TestDimension').ActiveHierarchy.AddLevel('TestLevel'); </pascal>
-
AreaType
: TbtkOLAPAreaType¶ Область которой принадлежат все поля размерности (Read-Write)
Return type: TbtkOLAPAreaType <pascal> Selection.OLAP.AddDimension('TestDimension').Area := atColumn; </pascal>
-
HierarchyCount
: Integer¶ Количество иерархий
Return type: Integer <pascal> str := ''; dimension := Selection.OLAP.DimensionByName('TestDimension'); for i := 0 to dimension.HierarchyCount - 1 do str := str + dimension.Hierarchies[i].Name + #13#10; ShowMessage(str); </pascal>
-
Hierarchies
: TbtkOLAPHierarchy¶ Возвращает иерархию по индексу
Return type: TbtkOLAPHierarchy <pascal> str := ''; dimension := Selection.OLAP.DimensionByName('TestDimension'); for i := 0 to dimension.HierarchyCount - 1 do str := str + dimension.Hierarchies[i].Name + #13#10; ShowMessage(str); </pascal>
-
Free
()¶ Удаляет размерность из OLAP-структуры
<pascal> Selection.OLAP.DimensionByName('TestDimension').Free; </pascal>
-
DeleteHierarchy
(HierarchyName: String; HierarchyIndex: Integer)¶ Удаляет иерархию по имени или индексу
Parameters: - HierarchyName (String) – Имя иерархии.
- HierarchyIndex (Integer) – Индекс иерархии.
<pascal> Selection.OLAP.Dimensions[0].DeleteHierarchy(1); Selection.OLAP.Dimensions[0].DeleteHierarchy('TestHierarchy'); </pascal>
-
HierarchyByName
(HierarchyName: String): TbtkOLAPHierarchy¶ Находит иерархию с указанным именем
Parameters: HierarchyName (String) – Имя иерархии. Return type: TbtkOLAPHierarchy <pascal> hierarchy := Selection.OLAP.Dimensions[0].HierarchyByName('TestHierarchy'); </pascal>
-
AddHierarchy
(HierarchyName: String): TbtkOLAPHierarchy¶ Добавляет иерархию с заданным именем.
Parameters: HierarchyName (String) – Добавляет иерархию с заданным именем. Return type: TbtkOLAPHierarchy <pascal> Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy'); </pascal>
-
1.8.7.2. TbtkScriptOLAPObject¶
-
class
TbtkScriptOLAPObject
¶ Объект реализует в себе две сущности:
- Обёртка для интерфейса Фрэйма Олап-куба, предоставляет доступ к олап функционалу.
- OLAP-структура, предоставляющая обобщенный интерфейс управления контролами OLAP-представления данных (например, PivotGrid).
-
Measures
: TbtkOLAPMeasureItem¶ Поле данных по заданному индексу
Return type: TbtkOLAPMeasureItem <pascal> str := ''; for i := 0 to Selection.OLAP.MeasureCount - 1 do str := str + Selection.OLAP.Measures[i].Name + #13#10; ShowMessage(str); </pascal>
-
MeasureCount
: Integer¶ Количество полей данных
Return type: Integer <pascal> str := ''; for i := 0 to Selection.OLAP.MeasureCount - 1 do str := str + Selection.OLAP.Measures[i].Name + #13#10; ShowMessage(str); </pascal>
-
Dimensions
: TbtkOLAPDimension¶ Размерность по заданному индексу
Return type: TbtkOLAPDimension <pascal> str := ''; for i := 0 to Selection.OLAP.DimensionCount - 1 do str := str + Selection.OLAP.Dimensions[i].Name + #13#10; ShowMessage(str); </pascal>
-
DimensionCount
: Integer¶ Количество размерностей OLAP-структуры
Return type: Integer <pascal> str := ''; for i := 0 to Selection.OLAP.DimensionCount - 1 do str := str + Selection.OLAP.Dimensions[i].Name + #13#10; ShowMessage(str); </pascal>
-
DeleteMeasure
(MeasureName: String; MeasureIndex: Integer)¶ Удаляет поле данных по указанному имени или порядковому номеру
Parameters: - MeasureName (String) – Имя поля данных.
- MeasureIndex (Integer) – Индекс поля данных.
<pascal> Selection.OLAP.DeleteMeasure('NewMeasure'); Selection.OLAP.DeleteMeasure(0); </pascal>
-
MeasureByName
(MeasureName: String): TbtkOLAPMeasureItem¶ Ищет поле данных с указанным именем
Parameters: MeasureName (String) – Имя поля данных. Return type: TbtkOLAPMeasureItem <pascal> measure := Selection.OLAP.MeasureByName('NewMeasure'); </pascal>
-
AddMeasure
(MeasureName: String; MeasureAggregator: TbtkOLAPSummaryType): TbtkOLAPMeasureItem¶ Добавляет в OLAP-структуру поле данных с возможностью одновременного задания способа вычисления итогов (Aggregator).
Parameters: - MeasureName (String) – Имя поля данных.
- MeasureAggregator (TbtkOLAPSummaryType) – Способы вычисления итогов.
Return type: <pascal> Selection.OLAP.AddMeasure('NewMeasure'); Selection.OLAP.AddMeasure('NewMeasure', ostCount); </pascal>
-
DeleteDimension
(DimensionName: String; DimensionIndex: Integer)¶ Удаляет размерность с указанным именем или порядковым номером.
Parameters: - DimensionName (String) – Имя размерности.
- DimensionIndex (Integer) – Индекс размерности.
<pascal> Selection.OLAP.DeleteDimension('TestDimension'); Selection.OLAP.DeleteDimension(0); </pascal>
-
DimensionByName
(DimensionName: String): TbtkOLAPDimension¶ Ищет размерность с заданным именем.
Parameters: DimensionName (String) – Имя размерности Return type: TbtkOLAPDimension <pascal> dim := Selection.OLAP.DimensionByName('TestDimension'); </pascal>
See also
-
AddDimension
(DimensionName: String): TbtkOLAPDimension¶ Добавляет размерность с указанным именем в OLAP-структуру
Parameters: DimensionName (String) – Уникальное непустое имя создаваемой размерности Return type: TbtkOLAPDimension <pascal> Selection.OLAP.AddDimension('TestDimension'); </pascal>
-
ClearOLAPStructure
()¶ Очищает все настройки OLAP-структуры
<pascal> Selection.OLAP.ClearOLAPStructure; </pascal>
-
DoUpdate
()¶ Применяет настройки OLAP-структуры к физическому OLAP-контролу.
<pascal> Selection.OLAP.DoUpdate; </pascal>
-
SupportedGeneralizeOLAPStructure
(): Boolean¶ Возвращает, поддерживает ли OLAP-контрол возможность управления OLAP-структурой.
Return type: Boolean <pascal> if Selection.OLAP.SupportedGenelizeOLAPStructure then begin ... end; </pascal>
-
GetDimensionValueList
(): TStringList¶ Возвращает список с именами и заголовками размерностей.
Return type: TStringList <pascal> dimValueList := Selection.OLAP.GetDimensionValueList; names := ''; captions := ''; for i := 0 to dimValueList.Count - 1 do begin names := names + dimValueList.Names[i] + #13#10; values := values + dimValueList.Values[dimValueList.Names[i]] + #13#10; end; ShowMessage(str); </pascal>
See also
-
ShowDimensionMapEditor
()¶ Отображает редактор карты измерений
-
SaveFrameSettings
(ID: Variant): Boolean¶ Сохраняет настройки по указанному идентификатору.
Parameters: ID (Variant) – Идентификатор настройки Return type: Boolean Returns: - True
- Возвращается в случае успешного сохранения.
- False
- Возвращается если сохранить не удалось, в том числе если в качестве ID передан Null.
-
LoadFrameSettings
(ID: Variant): Boolean¶ Загружает настройки по указанному идентификатору.
Parameters: ID (Variant) – Идентификатор настройки Return type: Boolean Returns: - True
- Возвращается в случае успешной загрузки.
- False
- Возвращается если загрузить не удалось, в том числе если в качестве ID передан Null.
-
OpenAllDimensions
()¶ Разворачивает все измерения.
-
OpenDimension
(AtrName: String)¶ Разворачивает измерение соответствующее указанному имени атрибута. Все измерения с более низким уровнем вложенности также разворачиваются.
Parameters: AtrName (String) – Имя атрибута
-
OpenRowDimension
(Level: Integer)¶ Разворачивает измерение в области строк с указанным уровнем вложенности. Все измерения с более низким уровнем вложенности также разворачиваются.
Parameters: Level (Integer) – Уровень вложенности разворачиваемого измерения.
-
OpenColumnDimension
(Level: Integer)¶ Разворачивает измерение в области колонок с указанным уровнем вложенности. Все измерения с более низким уровнем вложенности также разворачиваются.
Parameters: Level (Integer) – Уровень вложенности разворачиваемого измерения.
1.8.7.3. TbtkOLAPMeasureItem¶
-
class
TbtkOLAPMeasureItem
¶ Поле данных OLAP-структуры
-
Caption
: String¶ Заголовок, визуально отображаемый в OLAP-контроле. Если пустой, используется значение по умолчанию (соответствующее заголовку атрибута выборки)
Return type: String <pascal> str := ''; for i := 0 to Selection.OLAP.MeasureCount - 1 do str := str + Selection.OLAP.Measures[i].Caption + #13#10; ShowMessage(str); </pascal>
-
Order
: Integer¶ Номера, по возрастанию которых определяет порядок следования полей данных
Return type: Integer <pascal> measure.Order := 1; </pascal>
-
Name
: String¶ Уникальное среди полей данных непустое имя
Return type: String <pascal> str := ''; for i := 0 to Selection.OLAP.MeasureCount - 1 do str := str + Selection.OLAP.Measures[i].Name + #13#10; ShowMessage(str); </pascal>
-
SummaryType
: TbtkOLAPSummaryType¶ Способ вычисления итогов.
Return type: TbtkOLAPSummaryType <pascal> measure.SummeryType := ostAverage; </pascal>
-
Free
()¶ Удаляет поле данных из OLAP-структуры
-
1.8.7.4. TbtkOLAPHierarchy¶
-
class
TbtkOLAPHierarchy
¶ Иерархия OLAP-структуры
-
Name
: String¶ Уникальное в пределах размерности имя
Return type: String <pascal> str := ''; dimension := Selection.OLAP.DimensionByName('TestDimension'); for i := 0 to dimension.HierarchyCount - 1 do str := str + dimension.Hierarchies[i].Name + #13#10; ShowMessage(str); </pascal>
-
Order
: Integer¶ Номера, по возрастанию которых определяет порядок следования иерархий в своей размерности. Фактически не нужен - вся работа идет только с активной иерархией
Return type: Integer
-
Levels
: TbtkOLAPLevel¶ Уровень по идексу
Return type: TbtkOLAPLevel <pascal> str := ''; hierarchy := Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy'); for i := 0 to hierarchy.LevelCount - 1 do str := str + hierarchy.Levels[i].Name + #13#10; ShowMessage(str); </pascal>
-
LevelCount
: Integer¶ Количество уровней иерархии
Return type: Integer <pascal> str := ''; hierarchy := Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy'); for i := 0 to hierarchy.LevelCount - 1 do str := str + hierarchy.Levels[i].Name + #13#10; ShowMessage(str); </pascal>
-
Activate
()¶ Делает иерархию активной в своей размерности
<pascal> Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').Activate; </pascal>
-
Free
()¶ Удаляет иерархию из размерности
<pascal> Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').Free; </pascal>
-
DeleteLevel
(LevelName: String; LevelIndex: Integer)¶ Удаляет уровень по имени или порядковому номеру
Parameters: - LevelName (String) – Имя уровня.
- LevelIndex (Integer) – Индекс уровня.
<pascal> hierarchy.DeleteLevel('TestLevel'); hierarchy.DeleteLevel(1); </pascal>
-
LevelByName
(LevelName: String): TbtkOLAPLevel¶ Возвращает уровень по имени
Parameters: LevelName (String) – Имя уровня. Return type: TbtkOLAPLevel <pascal> level := hierarchy.LevelByName('TestLevel'); </pascal>
-
AddLevels
(InputArgs: Array)¶ Добавляет произвольное количество дочерних уровенй с возможностью одновременного указания их дочерних полей (Members)
Parameters: InputArgs (Array) – Массив аргументов. Включает в себя имена добавляемых уровней и массивы их дочерних полей. <pascal> Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy').AddLevels(['Level1', ['Member1', 'Member2'], 'Level2', 'Level3', ['Member3', 'Member4']]); </pascal>
-
AddLevel
(LevelName, KeyMemberName: String): TbtkOLAPLevel¶ Добавляет уровень OLAP-структуры с заданным именем и именем ключевого поля.
Parameters: - LevelName (String) – Уникальное в пределах иерархии непустое имя
- KeyMemberName (String) – Имя ключевого поля.
Return type: <pascal> Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy').AddLevel('TestLevel'); </pascal>
-
1.8.7.5. TbtkOLAPLevel¶
-
class
TbtkOLAPLevel
¶ Уровень OLAP-структуры. В реализации Pivot-грида верхний уровень (неподсредственно под иерархией) в области строк визуально представляет собой отдельную строку - последующие уровни идут на своих строках.
-
KeyMember
: TbtkOLAPMember¶ Ключевое поле
Return type: TbtkOLAPMember <pascal> level := Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').AddLevel('TestLevel'); member := level.AddMember('TestMember'); level.KeyMember := member; </pascal>
-
Name
: String¶ Уникальное в пределах иерархии имя уровня
Return type: String <pascal> str := ''; hierarchy := Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy'); for i := 0 to hierarchy.LevelCount - 1 do str := str + hierarchy.Levels[i].Name + #13#10; ShowMessage(str); </pascal>
-
MemberCount
: Integer¶ Количество полей уровня
Return type: Integer <pascal> str := ''; level := Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').LevelByName('TestLevel'); for i := 0 to level.MemberCount - 1 do str := str + level.Members[i].Name + #13#10; ShowMessage(str); </pascal>
-
Members
: TbtkOLAPMember¶ Поле по индексу
Return type: TbtkOLAPMember <pascal> str := ''; level := Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').LevelByName('TestLevel'); for i := 0 to level.MemberCount - 1 do str := str + level.Members[i].Name + #13#10; ShowMessage(str); </pascal>
-
Order
: Integer¶ Номера, по возрастанию которых определяет порядок следования уровней в своей иерархии или подуровне.
Return type: Integer <pascal> Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').LevelByName('TestLevel').Order := 1; </pascal>
-
LevelCount
: Integer¶ Количество подуровней
Return type: Integer <pascal> str := ''; level := Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').LevelByName('TestLevel'); for i := 0 to level.LevelCount - 1 do str := str + level.Levels[i].Name + #13#10; ShowMessage(str); </pascal>
-
Levels
: TbtkOLAPLevel¶ Уровень по идексу
Return type: TbtkOLAPLevel <pascal> str := ''; level := Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').LevelByName('TestLevel'); for i := 0 to level.LevelCount - 1 do str := str + level.Levels[i].Name + #13#10; ShowMessage(str); </pascal>
-
Free
()¶ Удаляет уровень из иерархии или родительского уровня
<pascal> Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy').AddLevel('TestLevel').Free; </pascal>
-
DeleteMember
(MemberName: String; MemberIndex: Integer)¶ Удаляет поле по имени или индексу
Parameters: - MemberName (String) – Имя поля.
- MemberIndex (Integer) – Индекс поля.
<pascal> level.DeleteMember('TestMember'); level.DeleteMember(1); </pascal>
-
MemberByName
(MemberName: String): TbtkOLAPMember¶ Ищет поле по имени
Parameters: MemberName (String) – Имя поля. Return type: TbtkOLAPMember <pascal> member := level.MemberByName('TestMember'); </pascal>
-
AddMembers
(MemberNames: Array)¶ Добавляет поля с указанными именами
Parameters: MemberNames (Array) – Имена полей. <pascal> level.AddMembers(['TestMember1', 'TestMember2', ...]); </pascal>
-
AddMember
(MemberName: String): TbtkOLAPMember¶ Добавляет поле в уровень
Parameters: MemberName (String) – Имя поля. Return type: TbtkOLAPMember <pascal> level.AddMember('TestMember'); </pascal>
-
DeleteLevel
(LevelName: String; LevelIndex: Integer)¶ Удаляет уровень по имени или порядковому номеру
Parameters: - LevelName (String) – Имя уровня.
- LevelIndex (Integer) – Индекс уровня.
<pascal> level.DeleteLevel('TestLevel'); level.DeleteLevel(1); </pascal>
-
LevelByName
(LevelName: String): TbtkOLAPLevel¶ Возвращает уровень по имени
Parameters: LevelName (String) – Имя уровня. Return type: TbtkOLAPLevel <pascal> level := level.LevelByName('TestLevel'); </pascal>
-
AddLevels
(InputArgs: Array)¶ Добавляет произвольное количество дочерних уровенй с возможностью одновременного указания их дочерних полей (Members)
Parameters: InputArgs (Array) – Массив аргументов. Включает в себя имена добавляемых уровней и массивы их дочерних полей. <pascal> level := Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy').AddLevel('LevelName'); level.AddLevels(['Level1', ['Member1', 'Member2'], 'Level2', 'Level3', ['Member3', 'Member4']]); </pascal>
-
AddLevel
(LevelName, KeyMemberName: String): TbtkOLAPLevel¶ Добавляет уровень OLAP-структуры с заданным именем и именем ключевого поля.
Parameters: - LevelName (String) – Имя уровня.
- KeyMemberName (String) – Имя ключевого поля.
Return type: <pascal> Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy').AddLevel('TestLevel').AddLevel('TestLevel2'); </pascal>
-
1.8.7.6. TbtkOLAPMember¶
-
class
TbtkOLAPMember
¶ Поле OLAP-структуры
-
Order
: Integer¶ Номера, по возрастанию которых определяет порядок следования полей в своем уровне
Return type: Integer <pascal> member.Order := 5; </pascal>
-
Caption
: String¶ Заголовок, визуально отображаемый в OLAP-контроле. Если пустой, используется значение по умолчанию (соответствующее заголовку атрибута выборки)
Return type: String <pascal> str := ''; level := Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').LevelByName('TestLevel'); for i := 0 to level.MemberCount - 1 do str := str + level.Members[i].Caption + #13#10; ShowMessage(str); </pascal>
-
Name
: String¶ Уникальное в размерности непустое имя
Return type: String <pascal> str := ''; level := Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').LevelByName('TestLevel'); for i := 0 to level.MemberCount - 1 do str := str + level.Members[i].Name + #13#10; ShowMessage(str); </pascal>
-
1.8.7.7. TbtkOLAPSummaryType¶
-
class
TbtkOLAPSummaryType
¶ Перечисление. Способы вычисления итогов полей данных OLAP-структуры.
-
ostCount
¶ Количество значений.
-
ostSum
¶ Сумма числовых значений.
-
ostMin
¶ Наименьшее значение.
-
ostMax
¶ Наибольшее значение.
-
ostAverage
¶ Среднее арифметическое для числовых значений.
-
ostStdDev
¶ Выборочное среднеквадратическое отклонение для числовых значений.
-
ostStdDevP
¶ Генеральное среднеквадратическое отклонение для числовых значений.
-
ostVariance
¶ Выборочная дисперсия для числовых значений.
-
ostVarianceP
¶ Генеральная дисперсия для числовых значений.
-
ostCustom
¶ Пользовательский расчёт.
-