Массивные формулы в Quire Permalink

Переведено ИИ
· Смотреть на английском

Массивная формула в Quire позволяет работать с набором значений — такими как задачи, подзадачи, исполнители, числа или длительности — сразу. Вместо того чтобы вычислять значения по одному, массивные формулы позволяют выполнять групповые вычисления и возвращать несколько результатов или одно агрегированное значение.

Понимание массивных формул

Массив — это список значений, обычно разделённых запятыми. В формулах Quire массивы часто возвращаются при обращении к нескольким элементам, например к подзадачам или полям задачи.

Например, вместо вычисления отклонения от планирования для одной задачи:

timeSpent - estimated

Можно вычислить отклонение от планирования для всех подзадач сразу с помощью массивной формулы:

subtasks.timeSpent - subtasks.estimated

Поскольку subtasks возвращает список, Quire выполняет вычисление для каждой подзадачи отдельно и возвращает список результатов.

Использование массивных формул для базовых вычислений

Арифметические операторы

Массивные формулы поддерживают все основные числовые операторы:

  • Сложение (+)
  • Вычитание (-)
  • Умножение (*)
  • Деление (/)


Пример:

  • Время подзадачи: 3h, 2h, 1h
  • Расчетное время подзадачи: 1h, 2h, 3h


Если написать:

subtasks.timeSpent

Quire интерпретирует это как:

[3h, 2h, 1h]

При использовании массивной формулы:

subtasks.timeSpent - subtasks.estimated

Вычисление выглядит так:

 [3h, 2h, 1h] - [1h, 2h, 3h] 

Результат:

 [2h, 0h, -2h]

Каждое значение в массиве представляет результат вычисления для одной подзадачи.

Использование массивных формул с операторами и функциями

Совмещение с функциями

Массивные формулы можно использовать совместно со встроенными операторами и функциями Quire для более сложного анализа.

Используя тот же пример с затраченным временем, можно отсортировать значения и выполнить вычисления:

SORT(subtasks.timeSpent) * 2 

Это интерпретируется как:

SORT([3h, 2h, 1h]) * 2

И возвращает:

[2h, 4h, 6h]

Это удобно для преобразования и анализа наборов данных задач.

Фильтрация данных с помощью массивных формул

Фильтрация с where

Массивы можно фильтровать с помощью оператора where, чтобы возвращать только элементы, удовлетворяющие заданным условиям.

Пример: фильтрация подзадач, в которых затраченное время составляет 2 часа и более:

subtasks where any.timeSpent >= 2h 

Результат вычисления:

[3h, 2h]

И возвращаются соответствующие задачи:

subtask 1, subtask 2

Эта формула перебирает все подзадачи, применяет условие и возвращает только подходящие элементы.

Примечание: Используйте идентификатор any вместе с where, чтобы указать, к какому полю применяется условие.

Подробнее читайте в нашем блоге о массивных формулах Quire.


Часто задаваемые вопросы

Что такое массивная формула в Quire?

Массивная формула работает с набором значений сразу. Например, subtasks.timeSpent - subtasks.estimated вычисляет отклонение от планирования для каждой подзадачи и возвращает список результатов.

Как вычислить значение по всем подзадачам в Quire?

Обратитесь к полю объекта subtasks — например, subtasks.timeSpent - subtasks.estimated вычисляет разницу для каждой подзадачи и возвращает массив результатов.

Как отсортировать массив значений подзадач в формуле Quire?

Оберните массив в SORT() — например, SORT(subtasks.timeSpent) возвращает значения времени подзадач от наименьшего к наибольшему. Можно объединять операции: SORT(subtasks.timeSpent) * 2.

Как отфильтровать подзадачи по условию в массивной формуле Quire?

Используйте оператор where с any — например, subtasks where any.timeSpent >= 2h возвращает только те подзадачи, в которых затраченное время составляет 2 часа и более.

Последнее обновление:

Пожалуйста свяжитесь с нами, если вам необходима дополнительная помощь.