ピボットテーブルに計算フィールドを追加する
Contents
[
Hide
]
可能な使用シナリオ
既知のデータに基づいてピボットテーブルを作成すると、それに含まれるデータが望んでいるものではないことがあります。望んでいるデータは、これらの元のデータの組み合わせです。たとえば、データを望んだ形式にするために、元のデータを加算、減算、乗算、除算する必要があります。その場合、計算フィールドを構築し、計算用の対応する式を設定する必要があります。その後、計算フィールドで統計などの操作を行います。
Excelのピボットテーブルに計算フィールドを追加
Excelのピボットテーブルに計算フィールドを挿入するには、以下の手順に従います:
- 追加したいピボットテーブルを選択します。
- リボットテーブルツールの「分析」タブに移動します。
- 「フィールド、アイテム、およびセット」をクリックし、その後、ドロップダウンメニューから「計算フィールド」を選択します。
- 「名前」フィールドに、計算フィールドの名前を入力します。
- 「式」フィールドに、適切なピボットテーブルのフィールド名と数学演算子を使用して実行する計算の式を入力します。
- 「OK」をクリックして計算フィールドを作成します。
- 新しい計算フィールドは、値のセクションの下にあるピボットテーブルフィールドリストに表示されます。
- 計算フィールドをピボットテーブルの値セクションにドラッグして、計算された値を表示します。
C#を使用してピボットテーブルに計算フィールドを追加
Aspose.Cellsを使用してExcelファイルに計算フィールドを追加します。次のサンプルコードを実行すると、ワークシートに計算フィールドを追加したピボットテーブルが追加されます。
- 元のデータを設定し、ピボットテーブルを作成します。
- ピボットテーブル内の既存のPivotFieldに応じて計算フィールドを作成します。
- 計算フィールドをデータ領域に追加します。
- 最後に、output XLSX形式でブックを保存します。
サンプルコード
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Instantiating an Workbook object | |
Workbook workbook = new Workbook(); | |
//Obtaining the reference of the newly added worksheet | |
Worksheet ws = workbook.Worksheets[0]; | |
Aspose.Cells.Cells cells = ws.Cells; | |
//Setting the value to the cells | |
Aspose.Cells.Cell cell = cells["A1"]; | |
cell.PutValue("Fruit"); | |
cell = cells["B1"]; | |
cell.PutValue("Count"); | |
cell = cells["C1"]; | |
cell.PutValue("Price"); | |
cell = cells["A2"]; | |
cell.PutValue("Apple"); | |
cell = cells["A3"]; | |
cell.PutValue("Mango"); | |
cell = cells["A4"]; | |
cell.PutValue("Blackberry"); | |
cell = cells["A5"]; | |
cell.PutValue("Cherry"); | |
cell = cells["B2"]; | |
cell.PutValue(5); | |
cell = cells["B3"]; | |
cell.PutValue(3); | |
cell = cells["B4"]; | |
cell.PutValue(6); | |
cell = cells["B5"]; | |
cell.PutValue(4); | |
cell = cells["C2"]; | |
cell.PutValue(5); | |
cell = cells["C3"]; | |
cell.PutValue(20); | |
cell = cells["C4"]; | |
cell.PutValue(30); | |
cell = cells["C5"]; | |
cell.PutValue(60); | |
//Adding a PivotTable to the worksheet | |
int i = ws.PivotTables.Add("=A1:C5", "D10", "PivotTable1"); | |
//Accessing the instance of the newly added PivotTable | |
PivotTable pivotTable = ws.PivotTables[i]; | |
pivotTable.AddFieldToArea(PivotFieldType.Row, 0); | |
//Adding a calculated field to PivotTable and drag it to data area. | |
pivotTable.AddCalculatedField("total", "=Count*Price", true); | |
pivotTable.RefreshData(); | |
pivotTable.CalculateData(); | |
workbook.Save("out.xlsx"); |