IEaxGrid.DrillTo

Синтаксис

DrillTo(Range: ITabRange; DimKey: Integer; LevelKey: Integer): Boolean;

Параметры

Range. Детализируемый диапазон ячеек таблицы;

DimKey. Ключ измерения;

LevelKey. Уровень измерения, на который осуществляется переход для работы с данными.

Описание

Метод DrillTo осуществляет детализацию данных в указанном диапазоне ячеек таблицы с переходом на указанный уровень измерения.

Пример

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

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

Sub UserProc;
Var
    Mb: IMetabase;
    Report: IPrxReport;
    Grid: IEaxGrid;
    DataRange, DrillRange: ITabRange;
    Dim: IDimInstance;
Begin
    Mb := MetabaseClass.Active;
    // Открытие отчёта
    Report := Mb.ItemById("REPORT").Open(NullAs IPrxReport;
    Grid := Report.DataArea.Views.Item(0As IEaxGrid;
    // Диапазон ячеек в заголовке
    DrillRange := Grid.SpecificRange(EaxRangeType.HeaderDrillDown);
    Debug.WriteLine("Диапазон для детализации: " + DrillRange.Address);
    // Проверка на возможность детализации
    If Grid.IsRangeDrillable(DrillRange, EaxDrillType.To_) Then
        DataRange := Grid.SpecificRange(EaxRangeType.Internal);
        Debug.WriteLine("Диапазон данных до детализации: " + DataRange.Address);
        Dim := (Grid.Slice As IEaxDataAreaPivotSlice).Pivot.TopHeader.Dim(0);
        // Детализация на указанный уровень измерения
        Grid.DrillTo(DrillRange, Dim.Key, Dim.Levels.Item(1).LevelKey);
        DataRange := Grid.SpecificRange(EaxRangeType.Internal);
        Debug.WriteLine("Диапазон данных после детализации: " + DataRange.Address);
    End If;
End Sub UserProc;

При выполнении примера будет открыт отчёт. Будет получен диапазон ячеек, в котором может быть произведена детализация данных. Детализация будет выполнена на второй уровень измерения. Адреса диапазонов ячеек с данными до и после детализации будут выведены в консоль среды разработки.

См. также:

IEaxGrid