IEaxDimensionDescriptor.Equal

Синтаксис Fore

Equal(Other: IEaxDimensionDescriptor): Boolean;

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

Equal(Other: Prognoz.Platform.Interop.Express.IEaxDimensionDescriptor): boolean;

Параметры

Other. Сравниваемое описание измерения.

Описание

Метод Equal сравнивает описание измерения с другим описанием.

Комментарии

Возвращаемые значения:

Пример Fore

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

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

Sub UserProc;
Var
    MB: IMetabase;
    Analyzer: IEaxAnalyzer;
    DA: IEaxDataArea;
    Slice, SliceDim: IEaxDataAreaSlice;
    PivotDimKey, PivotDimKeyTwo: Integer;
    DimensionInst, DimensionInstTwo: IEaxDimensionInstance;
    DimDescr, DimDescrTwo: IEaxDimensionDescriptor;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Analyzer := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    // Получим область данных
    DA := Analyzer.DataArea;
    // Получим срез данных
    Slice := DA.Slices.Item(0);
    // Получим ключ измерения
    PivotDimKey := Analyzer.Pivot.DimItem(3).Key;
    // Получим данные измерения по ключу
    DimensionInst := Slice.GetDimension(PivotDimKey);
    // Выведем в окно консоли элементы отметки и наименование измерения
    Debug.WriteLine("Элементы отметки - " + DimensionInst.Selection.ToString(""", "False));
    Debug.WriteLine("Наименование измерения - " + DimensionInst.Dimension.Name);
    // Получим описание измерения
    DimDescr := DimensionInst As IEaxDimensionDescriptor;
    // Выведем в окно консоли ключ измерения
    Debug.WriteLine("Ключ измерения - " + DimDescr.DimKey.ToString);
    // Получим срез, которому принадлежит измерение
    SliceDim := DimDescr.Slice As IEaxDataAreaSlice;
    // Выведем в окно консоли идентификатор среза данных
    Debug.WriteLine("Идентификатор среза данных - " + SliceDim.Id);
    // Выведем в окно консоли тип объекта-родителя измерения
    Select Case DimDescr.SliceType As Integer
        Case 0: Debug.WriteLine("Тип объекта-родителя измерения - PivotSlice");
        Case 1: Debug.WriteLine("Тип объекта-родителя измерения - PrxSlice");
        Case 2: Debug.WriteLine("Тип объекта-родителя измерения - Visualizer");
    End Select;
    // Получим описание измерения
    PivotDimKeyTwo := Analyzer.Pivot.DimItem(4).Key;
    DimensionInstTwo := Slice.GetDimension(PivotDimKeyTwo);
    DimDescrTwo := DimensionInstTwo As IEaxDimensionDescriptor;
    // Выведем в окно консоли признак равенства описаний измерений
    If DimDescr.Equal(DimDescrTwo) Then
        Debug.WriteLine("Описания измерений равны");
    Else
        Debug.WriteLine("Описания измерений не равны");
    End If;
End Sub UserProc;

После выполнения примера в окно консоли будут выведены:

Пример Fore.NET

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

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

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Analyzer: IEaxAnalyzer;
    DA: IEaxDataArea;
    Slice, SliceDim: IEaxDataAreaSlice;
    PivotDimKey, PivotDimKeyTwo: uinteger;
    DimensionInst, DimensionInstTwo: IEaxDimensionInstance;
    DimDescr, DimDescrTwo: IEaxDimensionDescriptor;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Analyzer := MB.ItemById["EXPRESS"].Bind() As IEaxAnalyzer;
    // Получим область данных
    DA := Analyzer.DataArea;
    // Получим срез данных
    Slice := DA.Slices.Item[0];
    // Получим ключ измерения
    PivotDimKey := Analyzer.Pivot.DimItem[3].Key;
    // Получим данные измерения по ключу
    DimensionInst := Slice.GetDimension(PivotDimKey);
    // Выведем в окно консоли элементы отметки и наименование измерения
    System.Diagnostics.Debug.WriteLine("Элементы отметки - " + DimensionInst.Selection.ToString(""", "False));
    System.Diagnostics.Debug.WriteLine("Наименование измерения - " + DimensionInst.Dimension.Name);
    // Получим описание измерения
    DimDescr := DimensionInst As IEaxDimensionDescriptor;
    // Выведем в окно консоли ключ измерения
    System.Diagnostics.Debug.WriteLine("Ключ измерения - " + DimDescr.DimKey.ToString());
    // Получим срез, которому принадлежит измерение
    SliceDim := DimDescr.Slice As IEaxDataAreaSlice;
    // Выведем в окно консоли идентификатор среза данных
    System.Diagnostics.Debug.WriteLine("Идентификатор среза данных - " + SliceDim.Id);
    // Выведем в окно консоли тип объекта-родителя измерения
    Select Case DimDescr.SliceType As Integer
        Case 0: System.Diagnostics.Debug.WriteLine("Тип объекта родителя измерения - PivotSlice");
        Case 1: System.Diagnostics.Debug.WriteLine("Тип объекта родителя измерения - PrxSlice");
        Case 2: System.Diagnostics.Debug.WriteLine("Тип объекта родителя измерения - Visualizer");
    End Select;
    // Получим описание измерения
    PivotDimKeyTwo := Analyzer.Pivot.DimItem[4].Key;
    DimensionInstTwo := Slice.GetDimension(PivotDimKeyTwo);
    DimDescrTwo := DimensionInstTwo As IEaxDimensionDescriptor;
    // Выведем в окно консоли признак равенства описаний измерений
    If DimDescr.Equal(DimDescrTwo) Then
        System.Diagnostics.Debug.WriteLine("Описания измерений равны");
    Else
        System.Diagnostics.Debug.WriteLine("Описания измерений не равны");
    End If;
End Sub;

См. также:

IEaxDimensionDescriptor