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 小時以上的子任務。