IPivot.GroupElement

Синтаксис Fore

GroupElement(Dimension: IDimInstance; El: Integer);

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

GroupElement(Dimension: Prognoz.Platform.Interop.Dimensions.IDimInstance; El: uinteger);

Параметры

Dimension. Дополнительное измерение «Поля источника», полученное в результате детализации в реляционные данные;

El. Индекс столбца, данные которого необходимо группировать.

Описание

Метод GroupElement выполняет группировку данных столбца при детализации в реляционные данные.

Комментарии

Для группировки элементов данных необходимо, чтобы свойство IPivot.DrillThrough принимало значение True.

После группировки в экспресс-отчете будет создано новое измерение, наименование которого соответствует наименованию элемента в измерении «Поля источника».

Для отмены группировки данных после группировки столбцов, используйте IPivot.UngroupElement.

Пример Fore

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

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

Sub UserProc;
Var
    MB: IMetabase;
    Analyzer: IEaxAnalyzer;
    Pivot: IPivot;
    DimInst: IDimInstance;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчёт
    Analyzer := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    // Получим таблицу данных экспресс-отчета
    Pivot := Analyzer.Pivot;
    // Детализируем данные в реляционную таблицу
    Pivot.DrillThrough := True;
    // Получим данные нового измерения «Поля источника»
    DimInst := Pivot.Selection.FindById("SRC_AND_FLD").Dimension;
    // Отгруппируем первый столбец, который соответствует первому элементу отметки измерения «Поля источника»
    Pivot.GroupElement(DimInst, 0);
    // Сохраним изменения
    (Analyzer As IMetabaseObject).Save;
    
    ...
    
    { Для отмены группировки столбца }
    If Pivot.CanUngroupElement(Pivot.DimItem(6))
        Then
            Pivot.UngroupElement(DimInst);
        Else Debug.WriteLine("Невозможно разгруппировать данные");
    End If;
    // Сохраним изменения
    (Analyzer 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;
    Analyzer: IEaxAnalyzer;
    Pivot: IPivot;
    DimInst: IDimInstance;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчёт
    Analyzer := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
    // Получим таблицу данных экспресс-отчета
    Pivot := Analyzer.Pivot;
    // Детализируем данные в реляционную таблицу
    Pivot.DrillThrough := True;
    // Получим данные нового измерения «Поля источника»
    DimInst := Pivot.Selection.FindById("SRC_AND_FLD").Dimension;
    // Отгруппируем первый столбец, который соответствует первому элементу отметки измерения «Поля источника»
    Pivot.GroupElement(DimInst, 0);
    // Сохраним изменения
    (Analyzer As IMetabaseObject).Save();
    
    ...
    
    { Для отмены группировки столбца }
    If Pivot.CanUngroupElement(Pivot.DimItem[6])
        Then
            Pivot.UngroupElement(DimInst);
        Else System.Diagnostics.Debug.WriteLine("Невозможно разгруппировать данные");
    End If;
End Sub;

См. также:

IPivot