Express > Интерфейсы сборки Express > IEaxHierarchyGroupSettings > 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(0) As 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[0] As 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;
При выполнении примера будет настроена группировка элементов для измерения, находящегося в боковике табличной области данных. Элементы первого уровня будут сгруппированы по значениям указанного атрибута.
См. также: