DimKey: Integer;
DimKey: integer;
Свойство DimKey определяет ключ измерения, по которому будет осуществляться сортировка.
Для использования данного свойства необходимо, чтобы свойство IPivotSortItem.Kind принимало значение PivotSortKind.Dimension.
Для определения ключа атрибута измерения используйте IPivotSortItem.AttributeKey.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «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.
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;
См. также: