Threshold: Double;
Threshold: Double;
Свойство Threshold определяет пороговое значение, относительно которого будет производиться отбор значений ячеек.
Свойство актуально, если свойство IPivotParetoSettingsItem.Display принимает значение True.
В зависимости от типа отбора значений, заданного в свойстве IPivotParetoSettingsItem.Kind, в свойстве Threshold допустимы следующие значения:
процент отбора в виде десятичной дроби, если свойство IPivotParetoSettingsItem.Kind принимает значение PivotParetoKind.Percent;
целое число, определяющее количество значений, если свойство IPivotParetoSettingsItem.Kind принимает значение PivotParetoKind.Count. Если задано вещественное число, то оно будет округлено до ближайшего целого значения;
вещественное число, являющееся границей суммы отбираемых значений, если свойство IPivotParetoSettingsItem.Kind принимает значение PivotParetoKind.Sum.
По умолчанию для параметров анализа по столбцам свойству Threshold установлено значение «0,2», по строкам -«0,8».
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS», содержащего таблицу.
Добавьте ссылки на системные сборки: Express, Metabase, Pivot.
Sub UserProc;
Var
Metabase: IMetabase;
Analyzer: IEaxAnalyzer;
Pivot: IPivot;
ColumnSettings: IPivotParetoSettings;
BottomSettings: IPivotParetoSettingsItem;
TopSettings: IPivotParetoSettingsItem;
Begin
// Получим репозиторий
Metabase := MetabaseClass.Active;
// Получим экспресс-отчёт
Analyzer := Metabase.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим таблицу экспресс-отчета
Pivot := Analyzer.Pivot;
// Будем применять распределение к столбцам
ColumnSettings := Pivot.Pareto.ColumnsSettings;
// Включим анализ для первого столбца
ColumnSettings.Enabled := True;
ColumnSettings.ElementIndex := 0;
ColumnSettings.OtherAggregation := PivotEvaluatorElementType.Avg;
// Получим максимальные значения анализируемого столбца
TopSettings := ColumnSettings.TopSettings;
// Изменим тип расчета
TopSettings.Kind := PivotParetoKind.Count;
// Включим отображение ячеек с максимальными значениями
TopSettings.Display := True;
// Изменим количество отображаемых ячеек с максимальными значениями
TopSettings.Threshold := 2;
// Получим минимальные значения анализируемого столбца
BottomSettings := ColumnSettings.BottomSettings;
// Изменим тип расчета
BottomSettings.Kind := PivotParetoKind.Count;
// Включим отображение ячеек с минимальными значениями
BottomSettings.Display := True;
// Изменим количество отображаемых ячеек с минимальными значениями
BottomSettings.Threshold := 2;
// Сохраним изменения
(Analyzer As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера к первому столбцу таблицы экспресс-отчета будет применен анализ «Первые/Последние» в соответствии с заданными параметрами:
будут отображены две ячейки с минимальными значениями;
будут отображены две ячейки с максимальными значениями;
по всем остальным данным будет рассчитано среднее значение.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.Tab;
Public Shared Sub Main1(Params: StartParams);
Var
Metabase: IMetabase;
Analyzer: IEaxAnalyzer;
Pivot: IPivot;
ColumnSettings: IPivotParetoSettings;
BottomSettings: IPivotParetoSettingsItem;
TopSettings: IPivotParetoSettingsItem;
Begin
// Получим репозиторий
Metabase := Params.Metabase;
// Получим экспресс-отчёт
Analyzer := Metabase.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
// Получим таблицу экспресс-отчета
Pivot := Analyzer.Pivot;
// Будем применять анализ 80/20 к столбцам
ColumnSettings := Pivot.Pareto.ColumnsSettings;
// Включим анализ только для первого столбца
ColumnSettings.Enabled := True;
ColumnSettings.ElementIndex := 0;
ColumnSettings.OtherAggregation := PivotEvaluatorElementType.peetAvg;
// Получим максимальные значения анализируемого столбца
TopSettings := ColumnSettings.TopSettings;
// Изменим тип расчета
TopSettings.Kind := PivotParetoKind.ppkCount;
// Включим отображение ячеек с максимальными значениями
TopSettings.Display := True;
// Изменим количество отображаемых ячеек с максимальными значениями
TopSettings.Threshold := 2;
// Получим минимальные значения анализируемого столбца
BottomSettings := ColumnSettings.BottomSettings;
// Изменим тип расчета
BottomSettings.Kind := PivotParetoKind.ppkCount;
// Включим отображение ячеек с минимальными значениями
BottomSettings.Display := True;
// Изменим количество отображаемых ячеек с минимальными значениями
BottomSettings.Threshold := 2;
// Сохраним изменения
(Analyzer As IMetabaseObject).Save();
End Sub;
См. также: