ピボットテーブル内のPivot Fieldをグループ化
可能な使用シナリオ
Microsoft Excelでは、ピボットテーブルのピボットフィールドをグループ化することができます。ピボットフィールドに関連するデータが多い場合、それらをセクションにグループ化することはよく行われます。Aspose.CellsもPivotTable.setManualGroupField()メソッドを使用してこの機能を提供しています。
ピボットテーブル内のPivot Fieldをグループ化
以下のサンプルコードは、サンプルExcelファイルを読み込み、ピボットテーブルの最初のピボットフィールドをPivotTable.setManualGroupField()メソッドを使用してグループ化します。その後、ピボットテーブルのデータを更新して計算し、ワークブックを出力Excelファイルとして保存します。スクリーンショットでは、サンプルコードのサンプルExcelファイルへの影響が示されています。スクリーンショットで示されているように、最初のピボットフィールドは現在、月と四半期によるグループ化が行われています。
サンプルコード
// 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"); |