ピボットテーブルに計算フィールドを追加する

可能な使用シナリオ

既知のデータに基づいてピボットテーブルを作成すると、それに含まれるデータが望んでいるものではないことがあります。望んでいるデータは、これらの元のデータの組み合わせです。たとえば、データを望んだ形式にするために、元のデータを加算、減算、乗算、除算する必要があります。その場合、計算フィールドを構築し、計算用の対応する式を設定する必要があります。その後、計算フィールドで統計などの操作を行います。

Excelのピボットテーブルに計算フィールドを追加

Excelのピボットテーブルに計算フィールドを挿入するには、以下の手順に従います:

  1. 追加したいピボットテーブルを選択します。
  2. リボットテーブルツールの「分析」タブに移動します。
  3. 「フィールド、アイテム、およびセット」をクリックし、その後、ドロップダウンメニューから「計算フィールド」を選択します。
  4. 「名前」フィールドに、計算フィールドの名前を入力します。
  5. 「式」フィールドに、適切なピボットテーブルのフィールド名と数学演算子を使用して実行する計算の式を入力します。
  6. 「OK」をクリックして計算フィールドを作成します。
  7. 新しい計算フィールドは、値のセクションの下にあるピボットテーブルフィールドリストに表示されます。
  8. 計算フィールドをピボットテーブルの値セクションにドラッグして、計算された値を表示します。

C#を使用してピボットテーブルに計算フィールドを追加

Aspose.Cellsを使用してExcelファイルに計算フィールドを追加します。次のサンプルコードを実行すると、ワークシートに計算フィールドを追加したピボットテーブルが追加されます。

  1. 元のデータを設定し、ピボットテーブルを作成します。
  2. ピボットテーブル内の既存のPivotFieldに応じて計算フィールドを作成します。
  3. 計算フィールドをデータ領域に追加します。
  4. 最後に、output XLSX形式でブックを保存します。

サンプルコード

//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");