2016-10-26 14 views
0
私は(無償の)私のピボットテーブルでの「総合計」欄取得しています

総額ではなく平均金額を「総額」にするにはどうすればよいですか?

enter image description here

「TotalQty」の場合と「TotalPrice」これは素晴らしいですが、「AvgPrice」のためと「PrcntgOfTotal」ではないので、を多く。

合計ではなく、最初のケースで平均値を表示するにはどうすればよいですか?

月のパーセンテージは、その月の合計の合計金額の%です(すべての月の合計ではありません)。 GrandTotal.PrcntgOfTotalは毎月の値の平均であってはなりません。 データフィールドNUMは、データフィールドコレクション内のインデックスであることを

private void PopulatePivotTableSheet() 
{ 
    string NORTHWEST_CORNER_OF_PIVOT_TABLE = "A6"; 
    AddPrePivotTableDataToPivotTableSheet(); 
    var dataRange = rawDataWorksheet.Cells[rawDataWorksheet.Dimension.Address]; 
    dataRange.AutoFitColumns(); 
    var pivotTable = pivotTableWorksheet.PivotTables.Add(
         pivotTableWorksheet.Cells[NORTHWEST_CORNER_OF_PIVOT_TABLE], 
         dataRange, 
         "PivotTable"); 
    pivotTable.MultipleFieldFilters = true; 
    //pivotTable.RowGrandTotals = true; <= default setting 
    //pivotTable.ColumGrandTotals = true; <= default setting 
    //pivotTable.RowGrandTotals = false; // this prevents the "Grand Total" column 
    //pivotTable.ColumGrandTotals = false; // this prevents the totals rows at the bottom 
    //pivotTable.Compact = true; 
    //pivotTable.CompactData = true; 
    pivotTable.GridDropZones = false; 
    pivotTable.Outline = false; 
    pivotTable.OutlineData = false; 
    pivotTable.ShowError = true; 
    pivotTable.ErrorCaption = "[error]"; 
    pivotTable.ShowHeaders = true; 
    pivotTable.UseAutoFormatting = true; 
    pivotTable.ApplyWidthHeightFormats = true; 
    pivotTable.ShowDrill = true; 

    // Row field[s] 
    var descRowField = pivotTable.Fields["Description"]; 
    pivotTable.RowFields.Add(descRowField); 

    // Column field[s] 
    var monthYrColField = pivotTable.Fields["MonthYr"]; 
    pivotTable.ColumnFields.Add(monthYrColField); 

    // Data field[s] 
    var totQtyField = pivotTable.Fields["TotalQty"]; 
    pivotTable.DataFields.Add(totQtyField); 

    var totPriceField = pivotTable.Fields["TotalPrice"]; 
    pivotTable.DataFields.Add(totPriceField); 

    // Don't know how to calc these vals here, so had to put them on the data sheet 
    var avgPriceField = pivotTable.Fields["AvgPrice"]; 
    pivotTable.DataFields.Add(avgPriceField); 

    var prcntgOfTotalField = pivotTable.Fields["PrcntgOfTotal"]; 
    pivotTable.DataFields.Add(prcntgOfTotalField); 
} 

答えて

1
pivotTable.DataFields[DATAFIELD NUM].Function = 
OfficeOpenXml.Table.PivotTable.DataFieldFunctions.Average 

注:ここでは

は、私はそれがこのピボットテーブルを生成していたコードです。定義:

OfficeOpenXml.Table.PivotTable.ExcelPivotTableDataFieldCollection 
関連する問題