我正在使用下面的代码块传递数据透视表以及一些设置以循环测量并在需要时添加差异。输出正在下降总数。总计、列总计和行总计都返回 null。是否有我缺少的配置设置?
private static IPivotTable getDiffPivotTable(IPivotTable pvtTbl, List<bool> showDifference, List<bool> isPercent, List<string> direction)
{
DifferencePivotTable diffPvt;
IPivotTable output = pvtTbl;
for (int i = 0; i < showDifference.Count; i++)
{
if (showDifference[i])
{
switch (direction[i])
{
case "previousRow":
{
diffPvt = new DifferencePivotTable(
pvtTbl,
DifferencePivotTable.DifferenceMode.PreviousRow,
i);
diffPvt.Percentage = isPercent[i];
output = diffPvt;
break;
}
case "nextRow":
{
diffPvt = new DifferencePivotTable(
pvtTbl,
DifferencePivotTable.DifferenceMode.NextRow,
i);
diffPvt.Percentage = isPercent[i];
output = diffPvt;
break;
}
case "previousColumn":
{
diffPvt = new DifferencePivotTable(
pvtTbl,
DifferencePivotTable.DifferenceMode.PreviousColumn,
i);
diffPvt.Percentage = isPercent[i];
output = diffPvt;
break;
}
case "nextColumn":
{
diffPvt = new DifferencePivotTable(
pvtTbl,
DifferencePivotTable.DifferenceMode.NextColumn,
i);
diffPvt.Percentage = isPercent[i];
output = diffPvt;
break;
}
default:
{
Console.WriteLine("Difference type not supported");
return output;
}
}
}
}
return output;
}