IPivotSortItem.DimKey

Синтаксис Fore

DimKey: Integer;

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

DimKey: integer;

Описание

Свойство DimKey определяет ключ измерения, по которому будет осуществляться сортировка.

Комментарии

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

Для определения ключа атрибута измерения используйте IPivotSortItem.AttributeKey.

Пример Fore

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

Добавьте ссылки на системные сборки: 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.Asc;
    // Сортировка по календарному измерению
    SortItem.Kind := PivotSortKind.Dimension;
    SortItem.DimKey := Pivot.DimItem(0).Key;
    // Сортировка по первому атрибуту измерения
    SortItem.AttributeKey := Pivot.DimItem(0).Attributes.Item(0).Attribute.Key;
    // Сохраним измерения
    (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.psdAsc;
    // Сортировка по календарному измерению
    SortItem.Kind := PivotSortKind.pskDimension;
    SortItem.DimKey := Pivot.DimItem[0].Key;
    // Сортировка по первому атрибуту измерения
    SortItem.AttributeKey := Pivot.DimItem[0].Attributes.Item[0].Attribute.Key;
    // Сохраним измерения
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

IPivotSortItem