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
此公式搜索所有子任务,应用条件,并仅返回匹配的项目。
注意: 使用 where 搭配 any 标识符来指定条件应用于哪个字段。
在我们的博客上阅读更多关于 Quire数组公式 的内容。
常见问题
Quire中的数组公式是什么?
数组公式一次处理一组值。例如,subtasks.timeSpent - subtasks.estimated 会计算每个子任务的进度差异,并返回结果列表。
如何在Quire中计算所有子任务的值?
在 subtasks 对象上引用字段——例如,subtasks.timeSpent - subtasks.estimated 会计算每个子任务的差值并返回结果数组。
如何在Quire公式中对子任务值数组进行排序?
将数组包裹在 SORT() 中——例如,SORT(subtasks.timeSpent) 会返回从最小到最大排序的子任务时间值。您可以链式操作,例如 SORT(subtasks.timeSpent) * 2。
如何在Quire数组公式中按条件筛选子任务?
使用带 any 的 where 运算符——例如,subtasks where any.timeSpent >= 2h 仅返回花费的时间大于或等于2小时的子任务。