2.2.6. OLAP фреймы

2.2.6.1. OLAP-таблица

class btkFrame.TbtkLookUpOLAPFrame

2.2.6.1.1. Механизм детализации

OLAP фрейм предоставляет возможность раширенной детализации (DrillDown).

Детализацию можно выполнить по двойному клику на ячейку. По двойному клику предоставляется две возможности:

  1. Выбрать поле из сводной таблице фактов, по которому и будет выполнена детализация. Детализируется активная запись. Окном детализации является новый OLAP фрейм. Новый OLAP фрейм может открываться в двух режимах: с копированием данных текущего OLAP фрейма в новую выборку либо использование текущей выборки. При использование текущая выборки нельзя закрыть мастер фрейм, пока не будут закрыты все фреймы детализации. При использовании копирования на больших объемах данных могут возникнуть проблемы с производительностью приложения. За режим открытия отвечает свойство фрейма "Копировать данные куба при детализации". По умолчанию свойство установлено в состояние "Включено".
  2. Открыть сводную таблицу таблицу фактов, по пункту "Перейти к фактическим данным...". Двойным кликом на таблице фактов вызывается операция указанная в свойстве "Операция, выполняемая на двойной щелчок в таблице фактов" OLAP фрейма. В операции происходит открытие карточки объекта таблицы фактов. Если операция не указана, то будет попытка загрузить операцию "DefaultOLAPDblClickOper" из списка настраиваемых операций(Сервис->Настройка Действий->Настраиваемые операции). Пример операции смотреть ниже.
Пример операции на двойной клик в таблице фактов
<sql>
 <GetProp>
 [out svModalType, svSelName, svSelRepresent]
 begin
   :svModalType := BTK_ClientGate.GetClassModalType(:idvClass);
   :svSelName := BTK_ClientGate.GetClassProperty(:idvClass, :svPropSelName);
   :svSelRepresent := BTK_ClientGate.GetClassProperty(:idvClass, :svPropRepresent);
 end;
 </GetProp>
 </sql>

<PASCAL>
  idvClass := GetVar('IdClass');
  DebugMsg(idvClass);

  // Получем Имя выборки и отображение карточки по Id класса
  v := execsqlEx('GetProp', 'svModalType; svSelName; svSelRepresent; idvClass; svPropSelName; svPropRepresent', [ftString, ftString, ftString, ftFloat, ftString, ftString], ['', '', '', idvClass, 'CardEditor.Selection', 'CardEditor.Representation']);
  DebugMsg(v[1] + '.' + v[2] + '.' + v[0]);

  // Преобразвоание типа открытия карточки(Модально или MDI)
  if UpperCase(v[0]) = UpperCase('fcfMDI') then
    ModalType := fcfMDI
  else
    if UpperCase(v[0]) = UpperCase('fcfModal') then
      ModalType := fcfModal;

  // СОздание формы карточки
  CreateFormEx('', v[1], ModalType, ['Representation', 'idItem#'],[v[2], GetVar('id')]);
</PASCAL>

2.2.6.1.2. Открытие карточки измерения

Кроме того, OLAP фрейм предоставляет возможность открыть карточку измерения. Открыть карточку активного измерения можно двойным кликом на измерении, либо через пункт всплывающее меню "Открыть карточку измерения...". Карточку измерения можно будет открыть, если в записе с измерением возвращаемое SQL запросом присутсвуеют ID и IdClass измерения. Шаблон размещения идентификаторов в записе поля: "ИмяИзмерения|ID|IDClass".

2.2.6.1.3. Дополнительная информация

  1. Сколько максимально измерений может быть в области данных? Это зависит от количества данных в измерениях. Количество членов в одном измерение (уникальных значений в измерение) не должно превышать 2^32. А перемножение всех членов всех измерений не должно превышать 2^64.
  2. Максимальное количество измерений должно быть не больше 32.

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

2.2.6.1.4. Свойства фрейма

Раздел находится в разработке.

Пока описаны не все свойства.

Свойство Описание
ActiveSheetIndex Задаёт индекс активной вкладки фрейма.
HeaderVisible Управляет видимостью заголовка.
ToolBarVisible Управляет видимостью панели управления.

2.2.6.2. Pivot-таблица

Класс фрейма TbtkLookUpPivotGridFrameUnit.

2.2.6.2.1. Общее описание

../../../_images/PivotGrid.jpg

Пример Pivot-таблицы

Pivot-таблица позволяет представлять многомерные отчеты по заданным параметрам.

Пример использования можно посмотреть на выборке SEL_TSG_PivotGrid в отображении PivotGrid.

2.2.6.2.2. Свойства фрейма

Настройки фрейма Возможные значения Описание
Отображение заголовков измерений строк Область итогов снизу / Область итогов сверху / Древовидное, область итогов снизу Свойство определяет порядок и способ группировки строк Pivot-грида.
Отображение заголовков измерений столбцов Область итогов слева / Область итогов справа Свойство определяет порядок и способ группировки столбцов Pivot-грида.

Для возможности динамического использования Pivot-грида в скриптовый язык добавлен класс TbtkScriptPivotGridObject, предоставляющий доступ к свойствам Pivot-грида.

Получить доступ к этому объекту можно через скриптовый метод выборки TbtkScriptSelectionObject.PivotGrid

2.2.6.2.3. Управление конфигурацией и сохранение настроек

Pivot-грид поддерживает управление универсальной OLAP-структурой (см. OLAP-структура). Все функции по сохранению, восстановлению и управлению настройками конфигурации возлагаются на нее.