LevelTotals: IPivotTotals;
LevelTotals: Prognoz.Platform.Interop.Pivot.IPivotTotals;
Свойство LevelTotals возвращает объект для работы с итогами по уровню.
Вычисление итогов по уровню производится по всем элементам отображающихся уровней.
Для получения объекта для работы с итогами по иерархии, используйте IPivotDimensionLevelPropertiesCommon.HierarchyTotals.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS». Источником данных отчета является куб, который содержит в себе измерения, состоящие из нескольких уровней.
Добавьте ссылки на системные сборки: Express, Matrix, Metabase, Pivot.
Sub UserProc;
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Pivot: IPivot;
LHeader: IPivotHeader;
LevTotals: IPivotTotals;
Begin
// Получим репозиторий
MB := MetabaseClass.Active;
// Получим экспресс-отчет
Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим настройки отображения таблицы данных отчета
Pivot := Express.Pivot;
// Получим коллекцию измерений, расположенных по строкам
LHeader := Pivot.LeftHeader;
// Получим объект для работы с итогами по иерархии
LevTotals := LHeader.LevelTotals;
// Включим отображение итогов
If Not LevTotals.HasTotals Then
LevTotals.Totals := Tristate.OnOption;
End If;
// Зададим метод агрегации - сумма
LevTotals.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;
LevTotals: IPivotTotals;
Begin
// Получим репозиторий
MB := Params.Metabase;
// Получим экспресс-отчет
Express := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
// Получим настройки отображения таблицы данных отчета
Pivot := Express.Pivot;
// Получим коллекцию измерений, расположенных по строкам
LHeader := Pivot.LeftHeader;
// Получим объект для работы с итогами по иерархии
LevTotals := LHeader.LevelTotals;
If Not LevTotals.HasTotals Then
LevTotals.Totals := Tristate.tsOnOption;
End If;
// Зададим метод агрегации - сумма
LevTotals.Method := BasicAggregatorOperation.baoSum;
// Сохраним изменения
(Express As IMetabaseObject).Save();
End Sub;
См. также: