IPivotSortItem.Selection

Синтаксис Fore

Selection: IDimSelectionSet;

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

Selection: Prognoz.Platform.Interop.Dimensions.IDimSelectionSet;

Описание

Свойство Selection определяет элемент отметки, по которому будет осуществляться сортировка.

Комментарии

Для использования данного свойства необходимо, чтобы свойство IPivotSortItem.Kind принимало значение PivotSortKind.Selection.

Пример Fore

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

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

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Pivot: IPivot;
    SortItem: IPivotSortItem;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    // Получим таблицу
    Pivot := Express.Pivot;
    // Удалим все сортировки таблицы
    Pivot.Sorter.Clear;
    // Добавим сортировку таблицы
    SortItem := Pivot.Sorter.Add;
    // Проверим, включена ли сортировка
    If Not Pivot.Sorter.Enabled Then
        Pivot.Sorter.Enabled := True;
    End If;
    // Сортировка по убыванию
    SortItem.Direction := PivotSortDirection.Desc;
    // Сортировка по элементу отметки
    SortItem.Kind := PivotSortKind.Selection;
    SortItem.Selection.FindByKey(10152).SelectElement(0False);
    // Нечисловые значения будут располагаться в конце таблицы
    SortItem.SkipNonNumeric := True;
    // Сохраним измерения
    (Express As IMetabaseObject).Save;
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;
    Express: IEaxAnalyzer;
    Pivot: IPivot;
    SortItem: IPivotSortItem;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Express := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
    // Получим таблицу
    Pivot := Express.Pivot;
    // Удалим все сортировки таблицы
    Pivot.Sorter.Clear();
    // Добавим сортировку таблицы
    SortItem := Pivot.Sorter.Add();
    // Проверим, включена ли сортировка
    If Not Pivot.Sorter.Enabled Then
        Pivot.Sorter.Enabled := True;
    End If;
    // Сортировка по убыванию
    SortItem.Direction := PivotSortDirection.psdDesc;
    // Сортировка по элементу отметки
    SortItem.Kind := PivotSortKind.pskSelection;
    SortItem.Selection.FindByKey(10152).SelectElement(0False);
    // Нечисловые значения будут располагаться в конце таблицы
    SortItem.SkipNonNumeric := True;
    // Сохраним измерения
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

IPivotSortItem