1.8.4. OLAP/Pivot

1.8.4.1. TbtkOLAPDimension

class TbtkOLAPDimension

Размерность OLAP-структуры

Более подробное описание: 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;

  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;

  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;

  ShowMessage(str);
</pascal>
Free()

Фдаляет размерность из OLAP-структуры

Пример использования
<pascal>
  Selection.OLAP.DimensionByName('TestDimension').Free;
</pascal>
DeleteHierarchy(AHierarchyName: String; AHierarchyIndex: Integer)

Удаляет иерархию по имени или индексу

Parameters:
  • AHierarchyName (String) -- Описание отсутствует
  • AHierarchyIndex (Integer) -- Описание отсутствует
Пример использования
<pascal>
  Selection.OLAP.Dimensions[0].DeleteHierarchy(1);
  Selection.OLAP.Dimensions[0].DeleteHierarchy('TestHierarchy');
</pascal>
HierarchyByName(AHierarchyName: String): TbtkOLAPHierarchy

Находит иерархию с указанным именем

Parameters:AHierarchyName (String) -- Описание отсутствует
Return type:TbtkOLAPHierarchy
Пример использования
<pascal>
  hierarchy := Selection.OLAP.Dimensions[0].HierarchyByName('TestHierarchy');
</pascal>
AddHierarchy(AHierarchyName: String): TbtkOLAPHierarchy

Добавляет иерархию с заданным именем.

Parameters:AHierarchyName (String) -- Добавляет иерархию с заданным именем.
Return type:TbtkOLAPHierarchy
Пример использования
<pascal>
  Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy');
</pascal>

1.8.4.2. TbtkScriptOLAPObject

class TbtkScriptOLAPObject

Объект реализует в себе две сущности:

  1. Обёртка для интерфейса Фрэйма Олап-куба, предоставляет доступ к олап функционалу.
  2. OLAP-структура, предоставляющая обобщенный интерфейс управления контролами OLAP-представления данных (например, PivotGrid).

Более подробное описание: OLAP структура в скрипторе

Measures: TbtkOLAPMeasureItem

Поле данных по заданному индексу

Return type:TbtkOLAPMeasureItem
Пример использования
<pascal>
  str := '';

  for i := 0 to Selection.OLAP.MeasureCount - 1 do
    str := str + Selection.OLAP.Measures[i].Name + #13;

  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;

  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;

  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;

  ShowMessage(str);
</pascal>
DeleteMeasure(AMeasureName: String; AMeasureIndex: Integer)

Удаляет поле данных по указанному имени или порядковому номеру

Parameters:
  • AMeasureName (String) -- Описание отсутствует
  • AMeasureIndex (Integer) -- Описание отсутствует
Пример использования
<pascal>
  Selection.OLAP.DeleteMeasure('NewMeasure');
  Selection.OLAP.DeleteMeasure(0);
</pascal>
MeasureByName(AMeasureName: String): TbtkOLAPMeasureItem

Ищет поле данных с указанным именем

Parameters:AMeasureName (String) -- Описание отсутствует
Return type:TbtkOLAPMeasureItem
Пример использования
<pascal>
  measure := Selection.OLAP.MeasureByName('NewMeasure');
</pascal>
AddMeasure(AMeasureName: String; AMeasureAggregator: TbtkOLAPSummaryType): TbtkOLAPMeasureItem

Добавляет в OLAP-структуру поле данных с возможностью одновременного задания способа вычисления итогов (Aggregator).

Parameters:
  • AMeasureName (String) -- Описание отсутствует
  • AMeasureAggregator (TbtkOLAPSummaryType) -- Описание отсутствует
Return type:

TbtkOLAPMeasureItem

Пример использования
<pascal>
  Selection.OLAP.AddMeasure('NewMeasure');
  Selection.OLAP.AddMeasure('NewMeasure', ostCount);
</pascal>
DeleteDimension(ADimensionName: String; ADimensionIndex: Integer)

Удаляет размерность с указанным именем или порядковым номером.

Parameters:
  • ADimensionName (String) -- Описание отсутствует
  • ADimensionIndex (Integer) -- Описание отсутствует
Пример использования
<pascal>
  Selection.OLAP.DeleteDimension('TestDimension');
  Selection.OLAP.DeleteDimension(0);
 </pascal>
DimensionByName(ADimensionName: String): TbtkOLAPDimension

Ищет размерность с заданным именем.

Parameters:ADimensionName (String) -- Имя размерности
Return type:TbtkOLAPDimension
Пример использования
<pascal>
  dim := Selection.OLAP.DimensionByName('TestDimension');
</pascal>
AddDimension(ADimensionName: String): TbtkOLAPDimension

Добавляет размерность с указанным именем в OLAP-структуру

Parameters:ADimensionName (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>
SupportedGeneralizeOLAPStructu(): Boolean

Возвращает, поддерживает ли OLAP-контрол возможность управления OLAP-структурой.

Return type:Boolean
Пример использования
<pascal>
  if Selection.OLAP.SupportedGenelizeOLAPStructure then
  begin
    ...
  end;
</pascal>
GetDimensionValueList(): TStringList

Описание отсутствует

Return type:TStringList
ShowDimensionMapEditor()

Описание отсутствует

SaveFrameSettings(): Variant

Описание отсутствует

Return type:Variant
OpenRowDimension()

Описание отсутствует

OpenDimension()

Описание отсутствует

OpenColumnDimension()

Описание отсутствует

OpenAllDimensions()

Описание отсутствует

LoadFrameSettings(): Boolean

Описание отсутствует

Return type:Boolean

1.8.4.3. TbtkOLAPMeasureItem

class TbtkOLAPMeasureItem

Поле данных OLAP-структуры

Более подробное описание: 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;

  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;

  ShowMessage(str);
</pascal>
SummaryType: TbtkOLAPSummaryType

Способ вычисления итогов. Может принимать одно из следующих значений:

  • ostCount
  • ostSum
  • ostMin
  • ostMax
  • ostAverage
  • ostStdDev
  • ostStdDevP
  • ostVariance
  • ostVarianceP
  • ostCustom
Return type:TbtkOLAPSummaryType
Пример использования
<pascal>
  measure.SummeryType := ostAverage;
</pascal>
Free()

Удаляет поле данных из OLAP-структуры

1.8.4.3.1. TSummaryType

class TSummaryType

Перечисление

Описание отсутствует

ctSummaryAvg

среднее арифметическое для всех элементов

ctSummaryMin

минимальный элемент

ctSummaryMax

максимальный элемент

ctSummaryCount

подсчет количества элементов

ctNoSummary

нет поля итогов

ctSummarySum

подсчет суммы элементов

1.8.4.4. TbtkOLAPHierarchy

class TbtkOLAPHierarchy

Иерархия OLAP-структуры

Более подробное описание: 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;

  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;

  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;

  ShowMessage(str);
</pascal>
Activate()

Делает иерархию активной в своей размерности

Пример использования
<pascal>
  Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').Activate;
</pascal>
Free()

Удаляет иерархию из размерности

Пример использования
<pascal>
  Selection.OLAP.DimensionByName('TestDimension').HierarchyByName('TestHierarchy').Free;
</pascal>
DeleteLevel(ALevelName: String; ALevelIndex: Integer)

Удаляет уровень по имени или порядковому номеру

Parameters:
  • ALevelName (String) -- Описание отсутствует
  • ALevelIndex (Integer) -- Описание отсутствует
Пример использования
<pascal>
  hierarchy.DeleteLevel('TestLevel');
  hierarchy.DeleteLevel(1);
</pascal>
LevelByName(ALevelName: String): TbtkOLAPLevel

Возвращает уровень по имени

Parameters:ALevelName (String) -- Описание отсутствует
Return type:TbtkOLAPLevel
Пример использования
<pascal>
  level := hierarchy.LevelByName('TestLevel');
</pascal>
AddLevels(AInputArgs: Array)

Добавляет произвольное количество дочерних уровенй с возможностью одновременного указания их дочерних полей (Members)

Parameters:AInputArgs (Array) -- Описание отсутствует
Пример использования
<pascal>
  Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy').AddLevels(['Level1',
  ['Member1', 'Member2'], 'Level2', 'Level3', ['Member3', 'Member4']]);
</pascal>
AddLevel(ALevelName, AKeyMemberName: String): TbtkOLAPLevel

Добавляет уровень OLAP-структуры с заданным именем и именем ключевого поля.

Parameters:
  • ALevelName (String) -- Уникальное в пределах иерархии непустое имя
  • AKeyMemberName (String) -- Описание отсутствует
Return type:

TbtkOLAPLevel

Пример использования
<pascal>
  Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy').AddLevel('TestLevel');
</pascal>

1.8.4.5. TbtkOLAPLevel

class TbtkOLAPLevel

Уровень OLAP-структуры. В реализации Pivot-грида верхний уровень (неподсредственно под иерархией) в области строк визуально представляет собой отдельную строку - последующие уровни идут на своих строках.

Более подробное описание: OLAP структура в скрипторе

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;

  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;

  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;

  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;

  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;

  ShowMessage(str);
</pascal>
Free()

Удаляет уровень из иерархии или родительского уровня

Пример использования
<pascal>
  Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy').AddLevel('TestLevel').Free;
</pascal>
DeleteMember(AMemberName: String; AMemberIndex: Integer)

Удаляет поле по имени или индексу

Parameters:
  • AMemberName (String) -- Описание отсутствует
  • AMemberIndex (Integer) -- Описание отсутствует
Пример использования
<pascal>
  level.DeleteMember('TestMember');
  level.DeleteMember(1);
</pascal>
MemberByName(AMemberName: String): TbtkOLAPMember

Ищет поле по имени

Parameters:AMemberName (String) -- Описание отсутствует
Return type:TbtkOLAPMember
Пример использования
<pascal>
  member := level.MemberByName('TestMember');
</pascal>
AddMembers(AMemberNames: Array)

Добавляет поля с указанными именами

Parameters:AMemberNames (Array) -- Описание отсутствует
Пример использования
<pascal>
  level.AddMembers(['TestMember1', 'TestMember2', ...]);
</pascal>
AddMember(AMemberName: String): TbtkOLAPMember

Добавляет поле в уровень

Parameters:AMemberName (String) -- Описание отсутствует
Return type:TbtkOLAPMember
Пример использования
<pascal>
  level.AddMember('TestMember');
</pascal>
DeleteLevel(ALevelName: String; ALevelIndex: Integer)

Удаляет уровень по имени или порядковому номеру

Parameters:
  • ALevelName (String) -- Описание отсутствует
  • ALevelIndex (Integer) -- Описание отсутствует
Пример использования
<pascal>
  level.DeleteLevel('TestLevel');
  level.DeleteLevel(1);
</pascal>
LevelByName(ALevelName: String): TbtkOLAPLevel

Возвращает уровень по имени

Parameters:ALevelName (String) -- Описание отсутствует
Return type:TbtkOLAPLevel
Пример использования
<pascal>
  level := level.LevelByName('TestLevel');
</pascal>
AddLevels(AInputArgs: Array)

Добавляет произвольное количество дочерних уровенй с возможностью одновременного указания их дочерних полей (Members)

Parameters:AInputArgs (Array) -- Описание отсутствует
Пример использования
<pascal>
  level := Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy').AddLevel('LevelName');
  level.AddLevels(['Level1', ['Member1', 'Member2'], 'Level2', 'Level3', ['Member3', 'Member4']]);
</pascal>
AddLevel(ALevelName, AKeyMemberName: String): TbtkOLAPLevel

Добавляет уровень OLAP-структуры с заданным именем и именем ключевого поля.

Parameters:
  • ALevelName (String) -- Описание отсутствует
  • AKeyMemberName (String) -- Описание отсутствует
Return type:

TbtkOLAPLevel

Пример использования
<pascal>
  Selection.OLAP.AddDimension('TestDimension').AddHierarchy('TestHierarchy').AddLevel('TestLevel').AddLevel('TestLevel2');
</pascal>

1.8.4.6. TbtkOLAPMember

class TbtkOLAPMember

Поле OLAP-структуры

Более подробное описание: 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;

  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;

  ShowMessage(str);
</pascal>

1.8.4.7. TbtkOLAPSummaryType

class TbtkOLAPSummaryType

Перечисление. Способы вычисления итогов полей данных.

ostCount
ostSum
ostMin
ostMax
ostAverage
ostStdDev
ostStdDevP
ostVariance
ostVarianceP
ostCustom

1.8.4.8. TbtkOLAPAreaType

class TbtkOLAPAreaType

Перечисление. Возможные области группировки полей OLAP-структуры.

atRow
atColumn
atFilter
atInvisible

1.8.4.9. TbtkScriptPivotGridObject

class TbtkScriptPivotGridObject

Класс предоставляет доступ к компоненту PivotGrid.

ResetAllSettings()

Сбрасывает все настройки конфигурации Pivot-грида. Все поля перемещаются в область фильтрации.

Пример использования
<PASCAL>
  stream := Selection.PivotGrid.ResetAllSettings;
</PASCAL>
LoadFromBlob(ABlob: Variant)

Метод применяет настройки Pivot-грида, переданные в виде blob.

Parameters:ABlob (Variant) -- Описание отсутствует
Пример использования
<PASCAL>
  stream := Selection.PivotGrid.SaveToBlob();
  SaveBlobToFile('...\Saved_Settings.txt', stream);

  stream := LoadFromFileToBlob('...\Saved_Settings.txt');
  Selection.PivotGrid.LoadFromBlob(stream);
</PASCAL>
SaveToBlob(): Variant

Метод сохраняет настройки Pivot-грида в blob.

Return type:Variant
Пример использования
<PASCAL>
  stream := Selection.PivotGrid.SaveToBlob();
  SaveBlobToFile('...\Saved_Settings.txt', stream);

  stream := LoadFromFileToBlob('...\Saved_Settings.txt');
  Selection.PivotGrid.LoadFromBlob(stream);
</PASCAL>