Используйте многопроходную агрегацию в 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
Эта формула суммирует каждую уникальную запись таймлога один раз, а затем преобразует минуты в часы.
Примечание
Если в вашей текущей формуле используется SUM непосредственно для поля времени, замените этот внутренний SUM перед агрегацией по ID.
Что далее?
Была ли эта статья полезной?
Thank you for your feedback.
Thank you for your feedback.
Войдите в службу, чтобы оставить комментарий.