ピボットテーブル内の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-.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"); |