DrillRangeResult(Range: ITabRange): IEaxDrillRangeResult;
DrillRangeResult(Range: ITabRange): Prognoz.Platform.Interop.Express.IEaxDrillRangeResult;
Range. Диапазон ячеек, для которого необходимо произвести детализацию.
Метод DrillRangeResult возвращает результат детализации данных для указанного диапазона ячеек таблицы.
Если детализация не осуществилась, то данный метод вернет значение Null.
В качестве значений параметра Range необходимо передать диапазон ячеек, расположенных в шапке или боковике таблицы. Указанный диапазон должен соответствовать одному измерению. При выполнении данного метода будет изменена отметка по измерению, которому соответствует диапазон. При фиксации измерения по элементам диапазона Range будет включена агрегация данных.
Для проверки возможности детализации данных используйте свойство IEaxGrid.IsRangeDrillable.
Для получения результата детализации данных для указанной ячейки таблицы используйте IEaxGrid.DrillCellResult.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS_REPORT». Отчет содержит таблицу.
Добавьте ссылки на системные сборки: Express, Metabase, Tab.
Sub UserProc;
Var
MB: IMetabase;
Analyzer: IEaxAnalyzer;
Grid: IEaxGrid;
Range: ITabRange;
Begin
// Получим репозиторий
MB := MetabaseClass.Active;
// Получим экспресс-отчет
Analyzer := MB.ItemById("EXPRESS_REPORT").Edit As IEaxAnalyzer;
// Получим таблицу данных отчета
Grid := Analyzer.Grid;
// Получим диапазон ячеек
Range := Grid.TabSheet.Cells(0, 0, 1, 2);
// Произведем детализацию, если она возможна
If Grid.IsRangeDrillable(Range, EaxDrillType.Down) Then
Grid.DrillRangeResult(Range);
End If;
// Сохраним изменения
(Analyzer As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера будет осуществлена проверка на возможность детализации данных в диапазоне ячеек «A0:C1». Если детализация возможна, то она будет произведена.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Tab;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Analyzer: IEaxAnalyzer;
Grid: IEaxGrid;
Range: ITabRange;
Begin
// Получим репозиторий
MB := Params.Metabase;
// Получим экспресс-отчет
Analyzer := MB.ItemById["EXPRESS_REPORT"].Edit() As IEaxAnalyzer;
// Получим таблицу данных отчета
Grid := Analyzer.Grid;
// Получим диапазон ячеек
Range := Grid.TabSheet.Cells[0, 0, 1, 2];
// Произведем детализацию, если она возможна
If Grid.IsRangeDrillable[Range, EaxDrillType.edtDown] Then
Grid.DrillRangeResult(Range);
End If;
// Сохраним изменения
(Analyzer As IMetabaseObject).Save();
End Sub;
См. также: