IEaxDataAreaTransformation.Modifier

Синтаксис Fore

Modifier(LeftOperand: IDimSelection;
        RightOperand: IDimSelection;
        Operation: PivotTransformationSelectionOperation;

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

Modifier(LeftOperand: Prognoz.Platform.Interop.Dimensions.IDimSelection;
        RightOperand: Prognoz.Platform.Interop.Dimensions.IDimSelection;
        Operation: Prognoz.Platform.Interop.Express.PivotTransformationSelectionOperation;

Параметры

LeftOperand. Левый операнд;

RightOperand. Правый операнд;

Operation. Операция модификации отметки.

Описание

Метод Modifier модифицирует отметку измерений.

Комментарии

Для проверки операции модификации отметки используйте IEaxDataAreaTransformation.TestModifier.

Пример Fore

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

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

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    DArea: IEaxDataArea;
    Slice: IEaxDataAreaSlice;
    SS: IDimSelectionSet;
    S: IDimSelection;
    TypeSelOp: PivotTransformationSelectionOperation;
    CalcTransformations: IEaxDataAreaTransformations;
    CalcTransformation: IEaxDataAreaTransformation;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    // Получим срез источника данных
    DArea := Express.DataArea;
    Slice := DArea.Slices.Item(0);
    // Получим формулу преобразования данных в аналитической области
    CalcTransformations := Slice.CalcTransformations;
    CalcTransformation := CalcTransformations.Item(0);
    // Получим отметку, в которой находится формула, и сбросим ее
    SS := CalcTransformation.Selection;
    S := SS.Item(0).CreateCopy;
    S.DeselectAll;
    S.CopyToEx(SelectionCopyToExOptions.WithGroup, ss.Item(0), True);
    // Выведем в окно консоли тип операции по изменению отметки в таблице
    TypeSelOp := CalcTransformation.ModifierOperation(SS.Item(0));
    Select Case TypeSelOp.ToString
        Case "0": Debug.WriteLine("Тип операции - " + "None");
        Case "1": Debug.WriteLine("Тип операции - " + "Union");
        Case "2": Debug.WriteLine("Тип операции - " + "Intersection");
        Case "3": Debug.WriteLine("Тип операции - " + "Difference");
        Case "4": Debug.WriteLine("Тип операции - " + "Symmetric Diference");
        Case "5": Debug.WriteLine("Тип операции - " + "Replace");
    End Select;
    S := CalcTransformation.ModifierRightOperand(SS.Item(0));
    CalcTransformation.Modifier(SS.Item(0), S, PivotTransformationSelectionOperation.Replace);
    CalcTransformation.TestModifier(SS.Item(0), S);
    // Сохраним изменения
    (Express As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера:

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

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;
    SS: IDimSelectionSet;
    S: IDimSelection;
    TypeSelOp: PivotTransformationSelectionOperation;
    CalcTransformations: IEaxDataAreaTransformations;
    CalcTransformation: IEaxDataAreaTransformation;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Express := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
    // Получим срез источника данных
    DArea := Express.DataArea;
    Slice := DArea.Slices.Item[0];
    // Получим формулу преобразования данных в аналитической области
    CalcTransformations := Slice.CalcTransformations;
    CalcTransformation := CalcTransformations.Item[0];
    // Получим отметку, в которой находится формула, и сбросим ее
    SS := CalcTransformation.Selection;
    S := SS.Item[0].CreateCopy();
    S.DeselectAll();
    S.CopyToEx(SelectionCopyToExOptions.scteoWithGroup, ss.Item[0], True);
    // Выведем в окно консоли тип операции по изменению отметки в таблице
    TypeSelOp := CalcTransformation.ModifierOperation[SS.Item[0]];
    Select Case TypeSelOp.ToString()
        Case "0": System.Diagnostics.Debug.WriteLine("Тип операции - " + "None");
        Case "1": System.Diagnostics.Debug.WriteLine("Тип операции - " + "Union");
        Case "2": System.Diagnostics.Debug.WriteLine("Тип операции - " + "Intersection");
        Case "3": System.Diagnostics.Debug.WriteLine("Тип операции - " + "Difference");
        Case "4": System.Diagnostics.Debug.WriteLine("Тип операции - " + "Symmetric Diference");
        Case "5": System.Diagnostics.Debug.WriteLine("Тип операции - " + "Replace");
    End Select;
    S := CalcTransformation.ModifierRightOperand[SS.Item[0]];
    CalcTransformation.Modifier(SS.Item[0], S, PivotTransformationSelectionOperation.ptsoReplace);
    CalcTransformation.TestModifier(SS.Item[0], Var S);
    // Сохраним изменения
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

IEaxDataAreaTransformation