features · Aug 29, 2023

Ваша формула успеха: массивные формулы Quire

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

Последнее обновление: 28 мая 2026 г.

Представьте: вы смотрите на свою программу для управления проектами и думаете: «Постойте, а массивным формулам тут вообще место?» Ведь обычно мы воспринимаем формулы как нечто, что просто складывает или вычитает числа, верно? Что ж, отложите эту мысль.

Дело вот в чём: когда у вас в проекте куча задач, и каждая живёт своей жизнью, для успеха нужно стать виртуозом метрик. Вот тут-то массивные формулы и приходят на помощь. В этой статье я покажу, как эти эффектные формулы способны преобразить вашу работу с данными. Готовьтесь погрузиться в мир вашего проекта так, как никогда раньше!

Array Formulas доступны для всех уровней подписки. Дополнительную информацию можно найти на нашей странице тарифов.

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

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

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

timeSpent - estimated

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

subtasks.timeSpent - subtasks.estimated

Это может показаться чем-то непонятным — я объясню это позже. Сейчас вам достаточно знать, что в формуле выше subtasks — это набор подзадач, и с массивными формулами вы можете просто вычесть один массив из другого, как будто работаете с обычными значениями.

Вы можете поэкспериментировать с формулой, просто введя её в описании задачи и заключив в {{ и }}. Дополнительную информацию см. в нашем руководстве.

Какие базовые операции с массивами поддерживает Quire?

В формуле Quire вы можете задать произвольный массив с помощью [ и ]. Например, набор из 1, 2 и 3 выглядит так:

[1, 2, 3]

Затем, если вы хотите умножить его на значение, можно сделать так:

[1, 2, 3] * 5

Результат будет

[5, 10, 15]

Также можно выполнить вычисление над двумя массивами:

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

Результат будет

[-1, 1, 0]

Хорошо, теперь мы можем объяснить упомянутую выше формулу:

subtasks.timeSpent - subtasks.estimated

Предположим, у нас есть три подзадачи, затраченное время по которым составляет 1 ч, 2 ч и 3 ч, а расчётное время — 2 ч, 1 ч, 3 ч. Тогда subtasks.timeSpent на самом деле вычисляется как [1h, 2h, 3h], а subtasks.estimated — как [2h, 1h, 3h]. И результат — [-1h, 1h, 0h].

1h означает продолжительность 1 час. Дополнительную информацию см. в нашем руководстве.

Как сортировать и фильтровать массивы в Quire?

Как работает функция sort?

Чтобы отсортировать набор данных, достаточно использовать функцию sort:

sort([3, 1, 5, 2, 4]) * 2

Она вернёт следующий результат:

[2, 4, 6, 8, 10]

Это эквивалентно sort(3, 1, 5, 2, 4) * 2

Как работает оператор limit?

Если вам нужны только первые три элемента, можно использовать оператор limit так:

sort([3, 1, 5, 2, 4]) * 2 limit 3

Как работает оператор where?

Если вы хотите отфильтровать меньшие значения, можно использовать оператор where так:

[3, 1, 5, 2, 4] where any > 4

Он вернёт следующий результат:

[3, 5]

any — ключевое слово, обозначающее каждое значение в массиве слева от оператора where.

Как работает оператор order by?

Вернёмся к формуле, вычисляющей отклонение от плана, и поэкспериментируем с ней: subtasks.timeSpent - subtasks.estimated.

Она возвращает отклонение по времени для всех подзадач. Теперь предположим, что мы хотим получить сами задачи, а не отклонение от плана, — тогда можно использовать оператор order by так:

subtasks order by any.timeSpent - any.estimated

По умолчанию используется сортировка по возрастанию. Вы можете изменить её на убывание с помощью ключевого слова desc так:

subtasks order by desc any.timeSpent - any.estimated

А вот более продвинутая и сложная формула. Попробуйте догадаться, что она делает:

subtasks where any.timeSpent > 1d and any.due < tomorrow and any.priority >= high order by desc any.timeSpent - any.estimated limit 3

Как массивные формулы раскрывают динамику вашего проекта?

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

Применить это проще простого — достаточно создать пользовательское поле с формулой. Допустим, вы хотите следить за тем, во сколько вам обходится каждая задача. Сначала создайте пользовательское поле, скажем, Cost, чтобы записывать стоимость каждой задачи.

SQL Formula

Затем создайте ещё одно поле, например Total Cost, чтобы рассчитывать общую стоимость каждой задачи вместе с её подзадачами следующим образом.

Data Analysis

Несколько моментов, на которые стоит обратить внимание:

  1. Формулы нечувствительны к регистру. То есть Cost и cost равнозначны. Так же, как SUBTASKS и subtasks.
  2. Если имя поля содержит пробелы или другие небуквенно-цифровые символы, его нужно заключить в { и }. Именно поэтому в формуле выше вы видите {Total Cost}.

Давайте копнём чуть глубже, как вычисляется Total Cost. Сначала предположим, что у нас есть три задачи: A, B и C. Причём B и C — подзадачи A. Также вы указали Cost для A, B, C равным 50, 30, 10 соответственно. Тогда:

  1. Общая стоимость B и C будет 30 и 10, поскольку у них нет подзадач.
  2. Общая стоимость A будет SUM(30, 10, 50). Получится 90.

Как добавить массивные формулы в описание проекта?

Quire Formulas

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

Total cost: {{SUM(tasks.{Total Cost})}}

Где:

  1. Описание написано на markdown в стиле Quire. Чтобы указать формулу, нужно заключить её в {{ и }}. Кроме того, как только вы введёте {{, окно автодополнения поможет вам завершить формулу.
  2. tasks — это встроенный идентификатор, обозначающий все задачи в проекте. Опять же, он нечувствителен к регистру.

Если мы хотим узнать 5 самых дорогих задач, можно сделать так:

{{tasks order by desc any.{Total Cost} limit 5}}

Или, если вы хотите перечислить задачи, на которые ушло слишком много времени:

{{tasks where any.timeSpent - any.estimated > 1d order by desc any.timeSpent - any.estimated limit 5}}

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

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

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

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

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

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

Откройте описание любой задачи, заключите формулу в двойные фигурные скобки — и по мере набора текста откроется окно автодополнения. Тот же приём работает в комментариях, описаниях проектов и пользовательских полях.

В чём разница между sort, limit и where?

sort переупорядочивает массив, limit возвращает первые N элементов, а where фильтрует с помощью ключевого слова any. Они объединяются в цепочку, так что вы можете отсортировать подзадачи по затраченному времени по убыванию, а затем ограничить выборку тремя верхними.

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

Да. Любое поле, поддерживающее markdown в стиле Quire, поддерживает формулы внутри двойных фигурных скобок, включая описания задач, описания проектов и комментарии.

Какие операторы массивных формул поддерживает Quire?

Арифметика над массивами, сравнение, sort/limit/where/order by и агрегации вроде SUM и AVG. Полный справочник есть в руководстве по формулам Quire.

Давайте напишем вашу первую формулу в Quire!

Итак, вот и всё, что нужно знать о массивных формулах в Quire — вашем незаменимом помощнике в управлении проектами. И знаете что? Quire не просто запрыгнул в поезд массивных формул — он им управляет! Это первопроходец, пионер — первая в истории программа для управления проектами, которая принесла вам массивные формулы, и не просто принесла, а делает это на высшем уровне.

С Quire массивные формулы — это не просто функция, это отточенный до совершенства опыт. Так что, если вы нацелены вывести аналитику своих проектов на новый уровень, массивные формулы Quire здесь, чтобы покорить ваш мир. Готовьтесь считать числа, открывать инсайты и поднимать управление проектами на совершенно новый уровень с продвинутыми массивными формулами Quire. Ваши проекты скажут вам спасибо — и ваша организованная, влюблённая в данные натура тоже!

Tom Yeh
CEO at Quire.