Проблема:
с использованием .Calculation = xlPercentOfTotal, чтобы попытаться отобразить значения ячеек в столбце сводной таблицы как% от общего итога.
Текущий вывод:
Этовместо этого он рассчитывает все как% (включая итоговую сумму) из всего набора данных в столбце, а не просто использует общую сумму в сводной таблице.(Последняя строка, 15 - это общая сумма)
Value Desired Output
4 .2667%
1 .0667%
2 .1333%
4 .2667%
4 .2667%
15 1%
Желаемый результат:
Желаемый результат должен совпадать с ручным щелчком правой кнопкой мыши по столбцу в сводной таблице и «Показать значения как»... «Процент от общего итога».(Последняя строка, 15 - это общая сумма)
Value Desired Output
4 26.67%
1 6.67%
2 13.33%
4 26.67%
4 26.67%
15 100%
Желаемый результат должен совпадать с ручным щелчком правой кнопкой мыши по столбцу в сводной таблице и «Показать значения как» ... «Процент от общей суммы».
Текущий блок кода, на который влияют:
With ActiveSheet.PivotTables("PivotTableName").PivotFields("ColumnName")
.Orientation = xlDataField
.Function = xlCount
.Calculation = xlPercentOfTotal
.NumberFormat = "General\%;-"
.Name = "ThisIsTheColumnName"
End With
Я не на 100% уверен, что это за проблема, я подозреваю, поскольку раньше я сталкивался с ней из-за форматирования, но я немногопотерян.
РЕДАКТИРОВАТЬ:
Я думаю, что, возможно, нашел проблему.
.NumberFormat = "General\%;-"
Это, я думаю, принимает значение процента, а затем делит его снова или что-то подобноемне процент в процентах (то есть 100% из 100% - это 1%).
Причина, по которой я это сделал, заключается в том, что я изначально хотел, чтобы все значения NULL были '-' (дефис).
Закомментирование этой строки приводит к желаемому результату, но затем удаляет возможность отлавливать значения NULL как '-'.
With ActiveSheet.PivotTables("PivotTableName").PivotFields("ColumnName")
.Orientation = xlDataField
.Function = xlCount
.Calculation = xlPercentOfTotal
.NumberFormat = "General\%;-"
.Name = "ThisIsTheColumnName"
End With