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的任务的负责人以及所有子任务的负责人组成的列表。
了解更多关于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按以下顺序计算运算符:首先是括号和点/列表运算符,然后是幂运算、乘除法、加减法、比较、逻辑,最后是条件运算符。需要时可使用括号覆盖默认顺序。
如何在Quire中编写IF/条件公式?
使用?:进行双结果条件判断——(Cost > 10) ? 'Too expensive' : 'Reconsider'。仅当字段为空时使用??作为回退值。
如何在Quire公式中按字段值筛选子任务?
使用where运算符——subtasks where any.Cost > 10返回Cost超过10的子任务。结合limit限制结果数量。
如何在Quire公式中对列表进行排序或重新排序?
使用order by——subtasks order by any.Cost按Cost字段排序。添加asc或desc控制排序方向。
如何在Quire公式中对列表中的每个项目应用计算?
使用map运算符——subtasks map any.Cost * 2将每个子任务的Cost值乘以2。