IEaxDataAreaHierarchies.Add

Синтаксис Fore

Add(Slice: IEaxDataAreaSlice;

    DS: IDimSelection;

    Key: Integer;

   [ElementsToCopy: IDimSelection = Null]): IEaxDataAreaHierarchy;

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

Add(Slice: Prognoz.Platform.Interop.Express.IEaxDataAreaSlice;

    DS: Prognoz.Platform.Interop.Dimensions.IDimSelection;

    Key: uinteger;

    ElementsToCopy: Prognoz.Platform.Interop.Dimensions.IDimSelection):

    Prognoz.Platform.Interop.Express.IEaxDataAreaHierarchy;

Параметры

Slice. Срез аналитической области данных;

DS. Отметка измерения;

Key. Ключ измерения;

ElementsToCopy. Отметка, в которую будут добавлены элементы текущей отметки. Не обязательный параметр, для игнорирования используйте Null.

Описание

Метод Add добавляет новую альтернативную иерархию в коллекции.

Комментарии

Для очищения коллекции альтернативных иерархий используйте IEaxDataAreaHierarchies.Clear или IEaxDataAreaHierarchies.ClearAll.

Пример Fore

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

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

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    DArea: IEaxDataArea;
    Slice: IEaxDataAreaSlice;
    DimSel: IDimSelection;
    Hiers: IEaxDataAreaHierarchies;
    Hier: IEaxDataAreaHierarchy;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    // Получим срез источника данных
    DArea := Express.DataArea;
    Slice := DArea.Slices.Item(0);
    //Получим отметку измерения
    DimSel := Slice.Selection.Item(0);
    // Создадим новую альтернативную иерархию аналитической области данных
    Hiers := DArea.Hierarchies;
    Hier := Hiers.Add(Slice, DimSel, DimSel.Dimension.Key);
    // Сохраним изменения
    (Express As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера в экспресс-отчете будет создана альтернативная иерархия.

Пример Fore.NET

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

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    DArea: IEaxDataArea;
    Slice: IEaxDataAreaSlice;
    DimSel: IDimSelection;
    Hiers: IEaxDataAreaHierarchies;
    Hier: IEaxDataAreaHierarchy;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Express := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
    // Получим срез источника данных
    DArea := Express.DataArea;
    Slice := DArea.Slices.Item[0];
    //Получим отметку измерения
    DimSel := Slice.Selection.Item[0];
    // Создадим новую альтернативную иерархию аналитической области данных
    Hiers := DArea.Hierarchies;
    Hier := Hiers.Add(Slice, DimSel, DimSel.Dimension.Key, Null);
    // Сохраним изменения
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

IEaxDataAreaHierarchies