Agrupar campos de pivote en la tabla dinámica

Escenarios de uso posibles

Microsoft Excel te permite agrupar campos de pivote de la tabla dinámica. Cuando hay una gran cantidad de datos relacionados con un campo de pivote, a menudo es útil agruparlos en secciones. Aspose.Cells también proporciona esta función mediante el método PivotTable.setManualGroupField().

Agrupar campos de la tabla dinámica

El siguiente código de muestra carga el archivo de Excel de ejemplo y realiza la agrupación en el primer campo de pivote utilizando el método PivotTable.setManualGroupField(). Luego actualiza y calcula los datos de la tabla dinámica y guarda el libro de trabajo como el archivo de Excel de salida. La captura de pantalla muestra el efecto del código de ejemplo en el archivo de Excel de muestra. Como se puede ver en la captura de pantalla, el primer campo de pivote ahora está agrupado por meses y trimestres.

todo:image_alt_text

Código de muestra

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Load sample workbook
Workbook wb = new Workbook("sampleGroupPivotFieldsInPivotTable.xlsx");
//Access the second worksheet
Worksheet ws = wb.getWorksheets().get(1);
//Access the pivot table
PivotTable pt = ws.getPivotTables().get(0);
//Specify the start and end date time
DateTime dtStart = new DateTime(2008, 1, 1);//1-Jan-2018
DateTime dtEnd = new DateTime(2008, 9, 5); //5-Sep-2018
//Specify the group type list, we want to group by months and quarters
int[] groupTypeList = new int[2];
groupTypeList[0] = PivotGroupByType.MONTHS;
groupTypeList[1] = PivotGroupByType.QUARTERS;
//Apply the grouping on the pivot field
PivotField field = pt.getRowFields().get(0);
field.groupBy(dtStart, dtEnd, groupTypeList, 1, true);
//Refresh and calculate pivot table
pt.setRefreshDataFlag(true);
pt.refreshData();
pt.calculateData();
pt.setRefreshDataFlag(false);
//Save the output Excel file
wb.save("outputGroupPivotFieldsInPivotTable.xlsx");