setPareto(report: PP.Exp.EaxDocument, metadata: Object, callback: PP.Delegate);
report. Документ экспресс-отчета;
metadata. Настройки распределения по Парето, представленные в виде JSON-объекта со вложенными свойствами columnsSettings и rowsSettings. Каждый их этих свойств может иметь следующие поля: displayMax - признак отображения максимума, elementIndex - индекс элемента, enabled - признак доступности данного элемента, kind - вид распределения по Парето (значение задаётся с помощью перечисления PP.Exp.Ui.PvtParetoKind), threshold - значение для указанного вида распределение;
callback. Функция обратного вызова.
Метод setPareto устанавливает распределение по Парето в экспресс-отчете.
Для выполнения примера необходимо наличие на html-странице компонента ExpressBox с наименованием «expressBox» (см. «Пример создания компонента ExpressBox») и с загруженной таблицей в рабочей области экспресс-отчёта. Распределим данные в столбце таблицы с индексом 2 по принципу «Первые 20%»:
// Получим сервис для работы с экспресс-отчетом
var eaxMdService = expressBox.getService();
// Получим документ экспресс-отчета
var eaxAnalyzer = expressBox.getSource();
// Определим настройки строк и столбцов
var metadata = {
pivot: {
pareto: {
columnsSettings: {
displayMax: false,
elementIndex: "2", // Индекс элемента
enabled: true,
kind: "Percent", // Распределение «Первые 20%»
threshold: "0.2"
},
rowsSettings: {
enabled: false
}
}
}
};
// Определим аргументы для возвратной функции
var args = new PP.Mb.Ui.PropertyChangedEventArgs({
PropertyName: PP.Exp.Ui.RibbonTableEnum.TablePareto,
Metadata: metadata,
TypeUpdateData: PP.Exp.Ui.ViewTypeUpdate.DataView
});
// Определим возвратную функцию
var onPanelChanged = function (n, t) {
var chartView = expressBox.getDataView().getChartView();
t ? (chartView.DataChanged.fire(chartView, t.Args), t.Args.fireCallback(n, t)) : chartView.DataChanged.fire(chartView, t);
};
// Установим новый тип распределения элементов
eaxMbService.setPareto(eaxAnalyzer, metadata, PP.Delegate(this.onPanelChanged, eaxMdService, args));
// Обновим экспресс-отчет
expressBox.refreshAll();
В результате выполнения примера данные в столбце таблицы с индексом 2 были распределены по принципу «Первые 20%»:

См. также: