HierarchyTotals: IPivotTotals;
HierarchyTotals: Prognoz.Platform.Interop.Pivot.IPivotTotals;
Свойство HierarchyTotals возвращает объект для работы с итогами по иерархии.
Вычисление итогов по иерархии производится по всем дочерним элементам.
Для получения объекта для работы с итогами по уровню, используйте IPivotDimensionLevelPropertiesCommon.LevelTotals.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «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.
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;
См. также: