ICubeInstanceSource.ApplyDimensions

Синтаксис Fore

ApplyDimensions(Apply: ICubeSelectionControlApply; [ApplySet: Boolean = True]): Boolean;

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

ApplyDimensions(Apply: Prognoz.Platform.Interop.Cubes.ICubeSelectionControlApply; [ApplySet: Boolean = True]): Boolean;

Параметры

Apply - параметры управления отметкой, которые необходимо применить.

ApplySet - параметр, определяющий результат выполнения метода. Если в качестве значения параметра передавать True, то при удачном применении отметки результирующий набор элементов измерений и отметка элементов будут обновлены в кубе.

Если в качестве значения параметра передавать значение False, то метод вернет признак возможности применения отметки.

Описание

Метод ApplyDimensions осуществляет применение параметров управления отметкой.

Комментарии

Метод возвращает значение True, если применение отметки с установленными параметрами прошло удачно и False, если применение отметки не допустимо.

Пример Fore

Для выполнения примера предполагается наличие в репозитории вычисляемого куба с идентификатором «Cube_1». В кубе настроено управляющее измерение. Управляющим измерением является измерение, построенное на основе справочника «Dim_1».

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

Sub Main;
Var
    MB: IMetabase;
    CubeInst: ICalculatedCubeInstance;
    Source: ICubeInstanceSource;
    SelControl: ICubeSelectionControlApply;
    DimSS: IDimSelectionSet;
    Inst: IDimInstance;
Begin
    MB := MetabaseClass.Active;
    CubeInst := MB.ItemById("Cube_1").Open(NullAs ICalculatedCubeInstance;
    Source := CubeInst.Sources.Item(0);
    //Элементы измерений, доступные до применения отметки
    Debug.WriteLine("До применения отметки");
    For Each Inst In Source.Source.Dimensions Do
        Debug.WriteLine("Измерение: " + Inst.Name + "; Доступно элементов: " + Inst.Elements.Count.ToString);
    End For;
    //Создание пустой отметки
    DimSS := Source.Source.CreateDimSelectionSet;
    //Отметка необходимого элемента(ов) в управляющем измерении
    DimSS.FindById("Dim_1").SelectElement(0False);
    //Создание объекта для управления отметкой измерений
    SelControl := Source.CreateApplyDimensions;
    //Указание исходной отметки
    SelControl.SourceSelection := DimSS;
    //Применение параметров управления отметкой
    Source.ApplyDimensions(SelControl, True);
    //Результирующий набор элементов,
    //которые доступны в измерениях после применения отметки
    Debug.WriteLine("После применения отметки");
    For Each Inst In Source.Source.Dimensions Do
        Debug.WriteLine("Измерение: " + Inst.Name + "; Доступно элементов: " + Inst.Elements.Count.ToString);
    End For;
End Sub Main;

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

Пример Fore.NET

Для выполнения примера предполагается наличие в репозитории вычисляемого куба с идентификатором «Cube_1». В кубе настроено управляющее измерение. Управляющим измерением является измерение, построенное на основе справочника «Dim_1».

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

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Cubes;
...
Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    CubeInst: ICalculatedCubeInstance;
    Source: ICubeInstanceSource;
    SelControl: ICubeSelectionControlApply;
    DimSS: IDimSelectionSet;
    Inst: IDimInstance;
Begin
    MB := Params.Metabase;
    CubeInst := MB.ItemById["Cube_1"].Open(NullAs ICalculatedCubeInstance;
    Source := CubeInst.Sources.Item[0];
    //Элементы измерений, доступные до применения отметки
    System.Diagnostics.Debug.WriteLine("До применения отметки");
    For Each Inst In Source.Source.Dimensions Do
        System.Diagnostics.Debug.WriteLine("Измерение: " + Inst.Name + "; Доступно элементов: " + Inst.Elements.Count.ToString());
    End For;
    //Создание пустой отметки
    DimSS := Source.Source.CreateDimSelectionSet();
    //Отметка необходимого элемента в управляющем измерении
    DimSS.FindById("Dim_1").SelectElement(0False);
    //Создание объекта для управления отметкой измерений
    SelControl := Source.CreateApplyDimensions();
    //Указание исходной отметки
    SelControl.SourceSelection := DimSS;
    //Применение параметров управления отметкой
    Source.ApplyDimensions(SelControl, True);
    //Результирующий набор элементов,
    //которые доступны в измерениях после применения отметки
    System.Diagnostics.Debug.WriteLine("После применения отметки");
    For Each Inst In Source.Source.Dimensions Do
        System.Diagnostics.Debug.WriteLine("Измерение: " + Inst.Name + "; Доступно элементов: " + Inst.Elements.Count.ToString());
    End For;
End Sub;

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

См. также:

ICubeInstanceSource