IEaxDataAreaSlice.SortTransformations

Синтаксис Fore

SortTransformations: IEaxDataAreaTransformations;

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

SortTransformations: Prognoz.Platfrorm.Interop.Express.IEaxDataAreaTransformations;

Описание

Свойство SortTransformations возвращает коллекцию формул преобразования данных, заданных при сортировке.

Комментарии

Формула, которая будет указана в выражении формулы преобразования, должна возвращать целочисленное значение. Данное значение будет рассматриваться как значение атрибута Порядок и в соответствии с другими настройками, заданными в свойствах интерфейса IPivotSortItem, будет осуществляться сортировка.

Для включения сортировки по формуле необходимо установить свойствам Pivot.Sorter.Enable и SortItem.UseTransformationValues значение True.

Пример Fore

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

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

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Slice: IEaxDataAreaSlice;
    TrsCalc, TrsSort, TrsFilter: IEaxDataAreaTransformations;
    i, k, m: integer;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Express := MB.ItemById("EXPRESS").Bind As IEaxAnalyzer;
    // Получим срез данных
    Slice := Express.DataArea.Slices.Item(0);
    // Получим коллекцию формул преобразования данных
    TrsCalc := Slice.CalcTransformations;
    TrsSort := Slice.SortTransformations;
    TrsFilter := Slice.FilterTransformations;
    // Выведем в окно консоли
    For i := 0 To TrsCalc.Count - 1 Do
        Debug.WriteLine
        ("Выражение, заданное для вычисляемого элемента - " + TrsCalc.Item(i).Expression.AsString);
    End For;
    For k := 0 To TrsSort.Count - 1 Do
        Debug.WriteLine
        ("Выражение, заданное при сортировке - " + TrsSort.Item(k).Expression.AsString);
    End For;
    For m := 0 To TrsFilter.Count - 1 Do
        Debug.WriteLine
        ("Выражение, заданное при фильтрации - " + TrsFilter.Item(m).Expression.AsString);
    End For;
End Sub UserProc;

После выполнения примера в окно консоли будут выведены выражения всех найденных формул преобразования данных.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Express;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Slice: IEaxDataAreaSlice;
    TrsCalc, TrsSort, TrsFilter: IEaxDataAreaTransformations;
    i, k, m: integer;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Express := MB.ItemById["EXPRESS"].Bind() As IEaxAnalyzer;
    // Получим срез данных
    Slice := Express.DataArea.Slices.Item[0];
    // Получим коллекцию формул преобразования данных
    TrsCalc := Slice.CalcTransformations;
    TrsSort := Slice.SortTransformations;
    TrsFilter := Slice.FilterTransformations;
    // Выведем в окно консоли
    For i := 0 To TrsCalc.Count - 1 Do
        System.Diagnostics.Debug.WriteLine
        ("Выражение, заданное для вычисляемого элемента - " + TrsCalc.Item[i].Expression.AsString);
    End For;
    For k := 0 To TrsSort.Count - 1 Do
        System.Diagnostics.Debug.WriteLine
        ("Выражение, заданное при сортировке - " + TrsSort.Item[k].Expression.AsString);
    End For;
    For m := 0 To TrsFilter.Count - 1 Do
        System.Diagnostics.Debug.WriteLine
        ("Выражение, заданное при фильтрации - " + TrsFilter.Item[m].Expression.AsString);
    End For;
End Sub;

См. также:

IEaxDataAreaSlice