Agrupar campos dinámicos en la tabla dinámica
Posibles escenarios de uso
Microsoft Excel le permite agrupar campos dinámicos de la tabla dinámica. Cuando hay una gran cantidad de datos relacionados con un campo dinámico, suele ser útil agruparlos en secciones. Aspose.Cells también ofrece esta función utilizando elPivotTable.SetManualGroupField()método.
Agrupar campos dinámicos en la tabla dinámica
El siguiente código de ejemplo carga elejemplo de archivo de Excel y realiza la agrupación en el primer campo pivote usando elPivotTable.SetManualGroupField()método. Luego actualiza y calcula los datos de la tabla dinámica y guarda el libro de trabajo comoarchivo de salida de Excel. La captura de pantalla muestra el efecto del código de muestra en el archivo de Excel de muestra. Como puede ver en la captura de pantalla, el primer campo dinámico ahora está agrupado por meses y trimestres.
Código de muestra
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Load sample workbook | |
Workbook wb = new Workbook("sampleGroupPivotFieldsInPivotTable.xlsx"); | |
//Access the second worksheet | |
Worksheet ws = wb.Worksheets[1]; | |
//Access the pivot table | |
PivotTable pt = ws.PivotTables[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 | |
PivotGroupByType[] groupTypeList = new PivotGroupByType[2]; | |
groupTypeList[0] = PivotGroupByType.Months; | |
groupTypeList[1] = PivotGroupByType.Quarters; | |
//Apply the grouping on the pivot field | |
PivotField field = pt.RowFields[0]; | |
field.GroupBy(dtStart, dtEnd, groupTypeList, 1, true); | |
//Refresh and calculate pivot table | |
pt.RefreshDataFlag = true; | |
pt.RefreshData(); | |
pt.CalculateData(); | |
pt.RefreshDataFlag = false; | |
//Save the output Excel file | |
wb.Save("outputGroupPivotFieldsInPivotTable2.xlsx"); |