Используйте многопроходную агрегацию в Analytics Boards
TL;DR
Используйте многопроходную агрегацию, чтобы выполнять расчёты на разных уровнях и избегать дублирования итоговых значений.
Примеры:
- Среднее по проекту: AVG([Project ID],SUM([Task Effort (minutes)]))/60
- Устранить дубли таймлогов: SUM([Timelog ID],MAX([Timelog Time Spent (minutes)]))/60
| Доступность: Pinnacle, Apex. ; Недоступно: Free, Team, Business; |
Overview
Используйте многопроходную агрегацию, когда нужно, чтобы одна формула рассчитывала значения на нескольких уровнях, например задачи, проекта или таймлога. Она также помогает избежать завышенных итогов, когда одно и то же значение встречается в данных более одного раза.
Расчёт значений на двух уровнях
Многопроходная агрегация позволяет сначала агрегировать значения на определённом уровне, а затем применить к полученным результатам другой расчёт.
Пример: средние трудозатраты проекта по папке
Предположим, что папка содержит несколько проектов. Вам нужно:
- рассчитать общие трудозатраты задач для каждого проекта, и
- вычислить среднее значение этих итогов по папке
Значение первого уровня:
SUM([Task Effort (minutes)])
Чтобы вычислить среднее значение по проекту, используйте:
AVG([Project ID],SUM([Task Effort (minutes)])) / 60
Эта формула:
- вычисляет общие трудозатраты задач для каждого проекта,
- считает среднее значение этих итогов по проекту, и
- преобразует минуты в часы
Исправить дублированные значения
Иногда простая формула возвращает число, намного превышающее ожидаемое. Это может произойти, если одно и то же значение учитывается несколько раз из-за структуры папок, настроек виджета или уровня данных.
Эта проблема часто возникает в данных таймлогов, поскольку одна задача может содержать несколько записей времени.
Пример: дублированные итоговые значения таймлогов
Задача с названием «Flexible» находится в двух подпроектах под одним родительским проектом. Простое суммирование затраченного времени может показать 4 часа, хотя было зафиксировано лишь 2 часа.
Используйте многопроходную агрегацию, чтобы учитывать каждую уникальную запись только один раз.
- Определите наименьший уникальный уровень для данных. Для данных таймлогов используйте [Timelog ID].
-
Используйте неаддитивный агрегатор для значения. Замените SUM на MAX, AVG, MEDIAN или MIN.
- Просуммируйте результат на уровне уникального ID.
Используйте эту формулу:
SUM([Timelog ID], MAX([Timelog Time Spent (minutes)]))/60
Эта формула суммирует каждую уникальную запись таймлога один раз, а затем преобразует минуты в часы.
Note
Если в вашей текущей формуле используется SUM непосредственно для поля времени, замените этот внутренний SUM перед агрегацией по ID.
Войдите в службу, чтобы оставить комментарий.