Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
PivotField.group() (автоматическая группировка по типу данных) и PivotField.group(PivotFieldGroupOptions) (пользовательские параметры группировки).Перегрузка PivotField.group() без параметров проверяет тип данных поля и группирует его автоматически. Поле, содержащее только даты (и пустые значения), группируется по месяцам. Поле, содержащее только числа (и пустые значения), группируется в числовые диапазоны с использованием автоматического интервала.
import com.aspose.cells.*;
Workbook wb = new Workbook("sampleGroupPivotFieldsInPivotTable.xlsx");
PivotTable pt = wb.getWorksheets().get(1).getPivotTables().get(0);
PivotField field = pt.getRowFields().get(0);
field.group();
pt.calculateData();
wb.save("outputAutoGroupPivotField.xlsx");
Класс PivotFieldGroupOptions предоставляет пользовательскую конфигурацию группировки. Для полей дат задайте startDate, endDate и groupTypes. Для числовых полей задайте startNumber, endNumber и interval. Свойство newPivotField управляет тем, создаёт ли группировка новые поля сводной таблицы рядом с исходным (см. раздел Примечание в конце этой статьи).
Следующий пример группирует поле даты строки образца сводной таблицы по месяцам и кварталам между начальной и конечной датами. Код загружает образец Excel-файла, выполняет группировку, вычисляет данные сводной таблицы и сохраняет сгруппированный результат. Снимок экрана показывает эффект: поле даты строки теперь сгруппировано по кварталам и месяцам.
Обратите внимание, что порядок значений в options.groupTypes игнорируется. Независимо от того, в каком порядке перечислены типы групп, сгруппированные поля всегда отображаются от наибольшего периода к наименьшему: годы, кварталы, месяцы, дни, часы, минуты, секунды. В этом примере месяцы перечислены перед кварталами в options.groupTypes, однако кварталы отображаются как внешний уровень, а месяцы — как внутренний уровень.
import com.aspose.cells.*;
Workbook wb = new Workbook("sampleGroupPivotFieldsInPivotTable.xlsx");
PivotTable pt = wb.getWorksheets().get(1).getPivotTables().get(0);
PivotFieldGroupOptions options = new PivotFieldGroupOptions();
options.setStartDate(new com.aspose.cells.DateTime(2008, 1, 1));
options.setEndDate(new com.aspose.cells.DateTime(2008, 9, 5));
options.setGroupTypes(new int[] { PivotGroupByType.MONTHS, PivotGroupByType.QUARTERS });
pt.getRowFields().get(0).group(options);
pt.calculateData();
wb.save("outputGroupPivotFieldsInPivotTable.xlsx");

FieldTwo образца сводной таблицы изначально является полем данных (значения). Поскольку группировать можно только поля строк или столбцов, код сначала вызывает PivotTable.addFieldToArea(PivotFieldType.ROW, "FieldTwo"), чтобы переместить FieldTwo в область строк, обновляет сводную таблицу, а затем группирует числовое поле в диапазоны 0-1, 2-3 и 4-5 с использованием startNumber = 0, endNumber = 5 и interval = 2.
import com.aspose.cells.*;
// Загружаем образец книги
Workbook wb = new Workbook("sampleGroupPivotFieldsInPivotTable.xlsx");
// Получаем доступ ко второму листу и его сводной таблице
PivotTable pt = wb.getWorksheets().get(1).getPivotTables().get(0);
// FieldTwo - это поле данных: сначала перемещаем его в область строк,
// поскольку группировать можно только поля строк/столбцов
pt.addFieldToArea(PivotFieldType.ROW, "FieldTwo");
pt.calculateData();
// Группируем числовое поле по диапазонам 0-1, 2-3, 4-5
PivotFieldGroupOptions options = new PivotFieldGroupOptions();
options.setStartNumber(0);
options.setEndNumber(5);
options.setInterval(2);
pt.getRowFields().get(1).group(options);
// Вычисляем данные сводной таблицы и сохраняем выходной файл
pt.calculateData();
wb.save("outputNumberGroupPivotField.xlsx");
PivotField.groupBy() устарели и удалены из API. PivotField.group() и PivotField.group(PivotFieldGroupOptions) являются их заменой.PivotField.group() следуют тому же поведению, что и Excel. Свойство PivotFieldGroupOptions.newPivotField существует для совместимости со старыми версиями: по умолчанию оно равно false для числовой группировки и true для группировки по дате и времени; установите его в false, если хотите, чтобы группировка по дате заменяла исходное поле сводной таблицы вместо создания новых полей сводной таблицы.PivotFieldGroupOptions.interval действует только для числовой группировки и для группировки дат по дням (например, группировка дат в 7-дневные периоды); оно игнорируется, когда даты группируются по месяцам, кварталам или годам.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.