Различные функции агрегирования для разных измерений в сводной таблице Excel - PullRequest
0 голосов
/ 14 декабря 2018

Можно ли определить разные методы агрегирования для промежуточных итогов в разных измерениях в сводной таблице Excel?

В следующем примере показан результат, который я пытаюсь получить.Метрика для агрегирования, скажем, строки кода программного проекта.Рассматриваются 2 измерения: дата и организация.В исходных данных Организация разбита на 2 столбца: «Отдел» и «Проект», а «Дата» - это один столбец, а Excel автоматически создает сводку по месяцам / годам при подключении к данным ODBC.

enter image description here

Метрика, подобная этой, должна по-разному агрегироваться по разным измерениям.Для измерения Организации подытогом для всех проектов отдела является SUM, но в измерении даты, подытогом для всех месяцев года является MAX любого месяца (или, возможно, AVG, или последнего и т. Д., Но, конечно, нет).SUM).

Я пытался определить различные методы агрегирования в Excel в настройках поля, но он всегда выбирает один или другой метод для обоих измерений.Есть ли способ сделать это, предпочтительно используя стандартные механизмы сводной таблицы или в худшем случае UDF в Excel?

1 Ответ

0 голосов
/ 25 декабря 2018

Что бы я сделал, чтобы решить эту проблему, это добавить обе функции агрегирования: sum и max, а затем скрыть (или уменьшить) столбцы, которые вы не хотите отображать.

example of what the resulting pivot

в приведенном выше примере я сжимаю столбцы B, D, F и I, поскольку они имеют значения, выходящие за рамки ваших требований.

«Всего макс. Местоположения» отображает значение, согласующееся с функцией, выраженной во всем столбце: это «максимальное количество строк кода, которое достигается каждым проектом в каждом отделе; это может привести к недоразумениям, когдамы наблюдаем значения промежуточных итогов и итоговой суммы, то есть: «Grand Total - Total Max of Loc» не является «Total Max of Sum of Loc»: в этом примере он показывает 18, что представляет абсолютное максимальное значение Loc в Project в каждом Department; таким же образом Total Max of Loc для Department 2 равно 18, а форма Department 1 равна 12

Когда запрашивается другое поведение, как выраженов комментарии к этому ответу, я думаю, чтоМы вступаем в пространство строгих настроек, и какое-то решение можно найти, написав собственный макрос и используя функцию getpivotdata или, если это может быть приемлемо для вашего случая, простодобавление нового столбца с формулой max() и, возможно, скрытие столбца "Total Max of Loc"

custom solution

...