Quire 公式的所有運算子與函式 Permalink

AI 翻譯
· 查看英文版

本指南完整介紹 Quire 公式支援的所有運算子與函式,並透過清楚的說明與實用範例,協助您建構強大的計算、條件與任務邏輯。

數值運算子

數值運算子可用於計算儲存在數字欄位中的值。

運算子 功能 範例
+ 數值相加 timeSpent + 100
- 數值相減 Cost - 100
* 數值相乘 Cost * 100
/ 數值相除 Cost / 100
% 計算餘數 Cost % 3
^ 計算次方 Cost ^ 3

備註: 在公式中使用前,必須先建立數字自訂欄位(例如 Cost)。

文字運算子

文字運算子可將多個文字字串合併或串接為單一輸出。

運算子 功能 範例
+ 串接文字 ‘This is’ + ‘a task’

比較運算子

比較運算子會根據兩個值之間的關係回傳 truefalse

運算子 意義 範例
< 小於 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)。

提示: 您也可以在運算式結尾加上 ascdesc 來指定排序方向。例如,可輸入:subtasks order by any.Cost asc

map

對清單中的每個項目套用計算。

範例:

subtasks map any.Cost * 2

回傳子任務 Cost 欄位的值清單,並將每個值乘以 2。

備註: 在公式中使用前,必須先建立數字自訂欄位(例如 Cost)。

提示: 您可以將 any 識別符搭配 map 運算子使用,以指定要計算的欄位。

條件運算子

??

檢查任務是否符合 ?? 前方的運算式並回傳 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

列出 cost 值大於 10 的子任務。

備註: 在公式中使用前,必須先建立數字自訂欄位(例如 Cost)。

提示: 您可以將 any 識別符搭配 where 運算子使用,以指定要篩選的欄位。

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) 將任務所有子任務 Estimate 欄位中的值加總。
MAX() 回傳一組值中的最大值。 MAX(subtasks.estimated) 顯示任務所有子任務 Estimate 欄位中的最大值。
MIN() 回傳一組值中的最小值。 MIN(subtasks.estimated) 顯示任務所有子任務 Estimate 欄位中的最小值。
AVG() 回傳這些數字的平均值。 AVG(subtasks.estimated) 計算任務所有子任務 Estimate 欄位的平均值。
COUNT() 回傳項目的數量。 COUNT(subtasks) 顯示子任務的總數。
SORT() 將引數依排序後的順序回傳。 SORT(subtasks.estimated) 將任務所有子任務 Estimate 欄位中的值依排序後的順序顯示。
DISTINCT() 移除重複值,僅回傳不重複的值。 DISTINCT(subtasks.estimated) 顯示任務所有子任務 Estimate 欄位中的不重複值,並移除重複的部分。
ISEMPTY() 檢查輸入引數是否為空,並回傳 true/false 值。 ISEMPTY(estimated) 若該任務的 Estimate 欄位為空,則顯示已勾選的核取方塊。
ISNOTEMPTY() 檢查輸入引數是否為空,並回傳 true/false 值。 ISNOTEMPTY(estimated) 若該任務的 Estimate 欄位不為空,則顯示已勾選的核取方塊。

常見問題

在 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 欄位排序。加上 ascdesc 可控制排序方向。

如何在 Quire 中對清單中的每個項目套用計算?

使用 map 運算子——subtasks map any.Cost * 2 會將每個子任務的 Cost 值乘以 2。

最後更新時間:

如需更多協助,請聯繫我們