IEaxHierarchyGroupSettings.LevelNumber

Синтаксис

LevelNumber: Integer;

LevelNumber: Integer;

Описание

Свойство LevelNumber определяет номер уровня измерения, для элементов которого будет включена группировка.

Комментарии

Нумерация уровней начинается с единицы. По умолчанию свойству установлено значение «0», при этом группируются все элементы измерения.

Если уровень задан, то группируются элементы только этого уровня. Элементы вышестоящих уровней будут формировать родительские элементы с сохранением всей иерархии. Дочерние элементы относительно элементов заданного уровня также сохранят свою иерархию.

Пример

Для выполнения примера предполагается наличие в репозитории формы ввода с идентификатором «DEF». В форме ввода создана табличная область. Измерение в боковике табличной области имеет в своей структуре несколько уровней и атрибут с идентификатором «GROUP».

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

Sub UserProc;
Var
    MB: IMetabase;
    Report: IPrxReport;
    Area: IEaxDataArea;
    Slice: IEaxDataAreaPivotSlice;
    Dim: IDimInstance;
    Hier: IEaxHierarchiesGroupSettings;
    HierGroup: IEaxHierarchyGroupSettings;
    Arr: Array 
Of Integer;
Begin
    
// Получим репозиторий
    MB := MetabaseClass.Active;
    
// Получим дочерний объект формы
    Report := MB.ItemById("DEF").Children.Item(0).Edit As IPrxReport;
    
// Получим аналитическую область дочернего объекта
    Area := Report.DataArea;
    
// Получим срез аналитической области данных
    Slice := Area.Slices.Item(0As IEaxDataAreaPivotSlice;
    Dim := Slice.Pivot.LeftHeader.Dim(
0);
    // Получаем свойства коллекции группировок
    Hier := Slice.EaxHierarchiesGroupSettings;
    
// Получаем свойства группировки
    HierGroup := Hier.EaxHierarhyGroupSettings(Dim.Key);
    
// Изменение настроек
    Arr := New Integer[1];
    Arr[
0] := Dim.Dimension.Attributes.FindById("GROUP").Key;
    HierGroup.Attributes := Arr;
    HierGroup.LevelNumber := 
2;
    
// Применение изменений и сохранение
    Report.Recalc;
    Report.MetabaseObject.Save;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Report: IPrxReport;
    Area: IEaxDataArea;
    Slice: IEaxDataAreaPivotSlice;
    Dim: IDimInstance;
    Hier: IEaxHierarchiesGroupSettings;
    HierGroup: IEaxHierarchyGroupSettings;
    Arr: Array 
Of UInteger;
Begin
    
// Получим репозиторий
    MB := Params.Metabase;
    
// Получим дочерний объект формы
    Report := MB.ItemById["DEF"].Children.Item[0].Edit() As IPrxReport;
    
// Получим аналитическую область дочернего объекта
    Area := Report.DataArea;
    
// Получим срез аналитической области данных
    Slice := Area.Slices.Item[0As IEaxDataAreaPivotSlice;
    Dim := Slice.Pivot.LeftHeader.Dim[
0];
    
// Получаем свойства коллекции группировок
    Hier := Slice.EaxHierarchiesGroupSettings;
    
// Получаем свойства группировки
    HierGroup := Hier.EaxHierarhyGroupSettings[Dim.Key];
    
// Изменение настроек
    Arr := New UInteger[1];
    Arr[
0] := Dim.Dimension.Attributes.FindById("GROUP").Key As uinteger;
    HierGroup.Attributes := Arr;
    HierGroup.LevelNumber := 1;
    
// Применение изменений и сохранение
    Report.Recalc();
    Report.MetabaseObject.Save();
End Sub;

При выполнении примера будет настроена группировка элементов для измерения, находящегося в боковике табличной области данных. Элементы первого уровня будут сгруппированы по значениям указанного атрибута.

См. также:

IEaxHierarchyGroupSettings