IPivotDimensionLevelPropertiesCommon.HierarchyTotals

Синтаксис Fore

HierarchyTotals: IPivotTotals;

Синтаксис Fore.NET

HierarchyTotals: Prognoz.Platform.Interop.Pivot.IPivotTotals;

Описание

Свойство HierarchyTotals возвращает объект для работы с итогами по иерархии.

Комментарии

Вычисление итогов по иерархии производится по всем дочерним элементам.

Для получения объекта для работы с итогами по уровню, используйте IPivotDimensionLevelPropertiesCommon.LevelTotals.

Пример Fore

Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS». Источником данных отчета является куб, который содержит в себе измерения, состоящие из нескольких уровней.

Добавьте ссылки на системные сборки: Express, Matrix, Metabase, Pivot.

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Pivot: IPivot;
    LHeader: IPivotHeader;
    HierTotals: IPivotTotals;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    // Получим настройки отображения таблицы данных отчета
    Pivot := Express.Pivot;
    // Получим коллекцию измерений, расположенных по строкам
    LHeader := Pivot.LeftHeader;
    // Получим объект для работы с итогами по иерархии
    HierTotals := LHeader.HierarchyTotals;
    // Включим отображение итогов
    If Not HierTotals.HasTotals Then
        HierTotals.Totals := Tristate.OnOption;
    End If;
    // Зададим метод агрегации - сумма
    HierTotals.Method := BasicAggregatorOperation.Sum;
    // Сохраним изменения
    (Express As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера в боковике таблицы будут отображены итоги по иерархии.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Matrix;
Imports Prognoz.Platform.Interop.Pivot;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Pivot: IPivot;
    LHeader: IPivotHeader;
    HierTotals: IPivotTotals;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Express := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
    // Получим настройки отображения таблицы данных отчета
    Pivot := Express.Pivot;
    // Получим коллекцию измерений, расположенных по строкам
    LHeader := Pivot.LeftHeader;
    // Получим объект для работы с итогами по иерархии
    HierTotals := LHeader.HierarchyTotals;
    If Not HierTotals.HasTotals Then
        HierTotals.Totals := Tristate.tsOnOption;
    End If;
    // Зададим метод агрегации - сумма
    HierTotals.Method := BasicAggregatorOperation.baoSum;
    // Сохраним изменения
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

IPivotDimensionLevelPropertiesCommon