Все операторы и функции формул Quire Permalink

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

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

Числовые операторы

Числовые операторы позволяют вычислять значения, хранящиеся в числовых полях.

Операторы Что делает Пример
+ Складывает значения timeSpent + 100
- Вычитает значения Cost - 100
* Умножает значения Cost * 100
/ Делит значения Cost / 100
% Вычисляет остаток Cost % 3
^ Возводит в степень Cost ^ 3

Примечание: Перед использованием в формулах необходимо создать числовое пользовательское поле (например, Cost).

Текстовые операторы

Текстовые операторы позволяют объединять или конкатенировать текстовые строки в один результат.

Операторы Что делает Пример
+ Конкатенирует текст 'This is' + 'a task'

Операторы сравнения

Операторы сравнения возвращают true или false в зависимости от соотношения двух значений.

Операторы Значение Пример
< Меньше чем 3 < 1 -> False
> Больше чем 4 > 3 -> True
<= Меньше или равно 4 <= 2 -> False
>= Больше или равно 5 >= 1 -> True
= Равно 2 = 2 -> True
!= Не равно 3 != 2 -> True

Логические операторы

not

Инвертирует результат true/false.

Пример:

Not (Cost > 50)

Если Cost больше 50, результат — false. В противном случае возвращается true.

Примечание: Перед использованием в формулах необходимо создать числовое пользовательское поле (например, Cost).

in

Используйте in, чтобы проверить, полностью ли значения из первого списка содержатся во втором.

Пример:

assignees in subtasks.assignees

Возвращает true, если все исполнители задачи также назначены на её подзадачи.

&

Находит и возвращает общие значения из двух списков.

Пример:

assignees & subtasks.assignees

Возвращает исполнителей, общих для задачи и её подзадач.

and

Проверяет все условия и возвращает true только если каждое из них выполнено.

Пример:

(Cost > 50) and (due > <today>)

Примечание: Перед использованием в формулах необходимо создать числовое пользовательское поле (например, Cost).

or

Проверяет каждое условие и возвращает true, если хотя бы одно из них имеет значение.

Пример:

Cost or Budget

Примечание: Перед использованием в формулах необходимо создать числовое пользовательское поле (например, Cost).

Операторы списков

[field, field]

Используйте квадратные скобки для объединения нескольких значений в список.

Пример:

[me, #23.assignees, subtasks.assignees]

Возвращает список, включающий меня, исполнителей, назначенных на задачу с ID#23, и всех исполнителей подзадач.

Подробнее об array-формулах Quire, которые позволяют составлять списки и выполнять вычисления над коллекциями данных.

field[index]

Доступ к элементам списка по индексу (начиная с 0).

Пример:

subtasks[3]

Возвращает 4-ю подзадачу.

order by

Сортирует задачи по указанному полю.

Пример:

subtasks order by any.Cost

Возвращает список подзадач, упорядоченных по значениям поля Cost.

Примечание: Перед использованием в формулах необходимо создать числовое пользовательское поле (например, Cost).

Совет: Направление сортировки можно задать, добавив asc или desc в конец выражения. Например: subtasks order by any.Cost asc.

map

Применяет вычисление к каждому элементу списка.

Пример:

subtasks map any.Cost * 2

Возвращает список значений поля Cost подзадач, умноженных на 2.

Примечание: Перед использованием в формулах необходимо создать числовое пользовательское поле (например, Cost).

Совет: С оператором map можно использовать идентификатор any, чтобы указать поле для вычислений.

Условные операторы

??

Проверяет, соответствует ли задача выражению перед ??, и возвращает значение true/false. Если задача не соответствует выражению, возвращается значение выражения после ??.

Пример:

(Cost > 10) ?? 'Reconsider'

Если значение в поле Cost больше 10, возвращается true. Если меньше 10 — возвращается false. Если в поле Cost не введено значение, отображается «Reconsider».

Примечание: Перед использованием в формулах необходимо создать числовое пользовательское поле (например, Cost).

?:

Проверяет, соответствует ли задача выражению перед ?, и возвращает выражение после ?. Если задача не соответствует выражению перед ?, возвращается выражение после :.

Пример:

(Cost > 10) ? 'Too expensive': 'Reconsider'

Если значение в поле Cost больше 10, отображается «Too expensive». Если оно меньше 10 или значение не введено вовсе, отображается «Reconsider».

Примечание: Перед использованием в формулах необходимо создать числовое пользовательское поле (например, Cost).

Фильтрация и ограничение результатов

where

Фильтрует задачи, соответствующие заданным критериям.

Пример:

subtasks where any.Cost > 10

В список войдут подзадачи со значением стоимости больше 10.

Примечание: Перед использованием в формулах необходимо создать числовое пользовательское поле (например, Cost).

Совет: С оператором where можно использовать идентификатор any, чтобы указать поле для фильтрации.

limit

Ограничивает количество возвращаемых задач после сортировки.

Пример:

subtasks order by desc any.timeSpent - any.estimated limit 3	

Выводит топ-3 подзадачи, у которых фактически затраченное время превышает расчётное время.

Приоритет операторов

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

Оператор Описание
( )
.
[ ]
( )
Скобки
Точечный оператор
Список (массив)
Вызов функции
+
-
not
Унарные операторы
^ Возведение в степень
*
/
%
Умножение и деление
+ - Сложение и вычитание
<
>
<=
>=
in
&
Операторы сравнения
=
!=
Операторы равенства
not Логический оператор not
and Логический оператор and
or Логический оператор or
?? Условный оператор
where Оператор фильтрации
?: Условный оператор

Все встроенные функции

Функция Описание Пример Ожидаемый результат
SUM() Возвращает сумму значений. SUM(subtasks.estimated) Складывает все значения из полей Оценка подзадач данной задачи.
MAX() Возвращает наибольшее значение в наборе. MAX(subtasks.estimated) Показывает наибольшее значение из полей Оценка подзадач данной задачи.
MIN() Возвращает наименьшее значение в наборе. MIN(subtasks.estimated) Показывает наименьшее значение из полей Оценка подзадач данной задачи.
AVG() Возвращает среднее значение чисел. AVG(subtasks.estimated) Вычисляет среднее значение полей Оценка подзадач данной задачи.
COUNT() Возвращает количество элементов. COUNT(subtasks) Показывает общее количество подзадач.
SORT() Возвращает аргументы в отсортированном порядке. SORT(subtasks.estimated) Показывает все значения из полей Оценка подзадач данной задачи в отсортированном порядке.
DISTINCT() Удаляет дублирующиеся значения и возвращает только уникальные. DISTINCT(subtasks.estimated) Показывает все уникальные значения из полей Оценка подзадач данной задачи, удаляя дубликаты.
ISEMPTY() Проверяет, пусты ли входные аргументы, и возвращает true/false. ISEMPTY(estimated) Если поле Оценка задачи пустое, отображается отмеченный флажок.
ISNOTEMPTY() Проверяет, пусты ли входные аргументы, и возвращает true/false. ISNOTEMPTY(estimated) Если поле Оценка задачи не пустое, отображается отмеченный флажок.

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

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

Quire поддерживает +, -, *, /, % (остаток) и ^ (степень). Перед использованием в формуле необходимо создать числовое пользовательское поле.

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

Quire включает SUM(), MAX(), MIN(), AVG(), COUNT(), SORT(), DISTINCT(), ISEMPTY() и ISNOTEMPTY(). Полный справочник — в разделе Все встроенные функции.

Как работает приоритет операторов в формулах Quire?

Quire вычисляет операторы в следующем порядке: сначала скобки и точечные/списочные операторы, затем возведение в степень, умножение/деление, сложение/вычитание, сравнение, логические и, наконец, условные операторы. Используйте скобки для изменения порядка по умолчанию.

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

Используйте ?: для условия с двумя результатами — (Cost > 10) ? 'Too expensive' : 'Reconsider'. Используйте ?? как запасное значение только когда поле пустое.

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

Используйте оператор wheresubtasks where any.Cost > 10 возвращает подзадачи, у которых Cost превышает 10. Комбинируйте с limit для ограничения количества результатов.

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

Используйте order bysubtasks order by any.Cost сортирует по полю Cost. Добавьте asc или desc для управления направлением.

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

Используйте оператор mapsubtasks map any.Cost * 2 умножает значение поля Cost каждой подзадачи на 2.

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

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