Quireの数式演算子と関数のすべて Permalink
このガイドでは、Quireの数式でサポートされているすべての演算子と関数の完全なリファレンスを、わかりやすい説明と実用的な例とともに提供します。強力な計算、条件、タスクのロジックを構築するのに役立ちます。
数値演算子
数値演算子を使うと、数値ベースのフィールドに格納された値を計算できます。
| 演算子 | 機能 | 例 |
|---|---|---|
| + | 値を加算する | timeSpent + 100 |
| - | 値を減算する | Cost - 100 |
| * | 値を乗算する | Cost * 100 |
| / | 値を除算する | Cost / 100 |
| % | 剰余を計算する | Cost % 3 |
| ^ | べき乗を計算する | Cost ^ 3 |
注意: 数式で使用する前に、数値型のカスタムフィールド(例:Cost)を作成する必要があります。
テキスト演算子
テキスト演算子を使うと、テキスト文字列を結合して1つの出力にまとめることができます。
| 演算子 | 機能 | 例 |
|---|---|---|
| + | テキストを連結する | ‘This is’ + ‘a task’ |
比較演算子
比較演算子は、2つの値の関係に基づいて 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 を使うと、最初のリストの値が2番目のリストに完全に含まれているかどうかをチェックできます。
例:
assignees in subtasks.assignees
タスクのすべての担当者がその子タスクにも割り当てられている場合は true を返します。
&
2つのリスト間の共通する値を見つけて返します。
例:
assignees & subtasks.assignees
タスクとその子タスクの両方で共有されている担当者を返します。
and
すべての条件を評価し、すべての条件を満たす場合のみ true を返します。
例:
(Cost > 50) and (due > <today>)
注意: 数式で使用する前に、数値型のカスタムフィールド(例:Cost)を作成する必要があります。
or
各条件をチェックし、いずれかの条件に値があれば true を返します。
例:
Cost or Budget
注意: 数式で使用する前に、数値型のカスタムフィールド(例:Cost)を作成する必要があります。
リスト演算子
[field, field]
角括弧 を使って、複数の値を1つのリストにまとめます。
例:
[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
Cost値が10より大きい子タスクが一覧表示されます。
注意: 数式で使用する前に、数値型のカスタムフィールド(例:Cost)を作成する必要があります。
ヒント: where 演算子と any 識別子を組み合わせることで、フィルタリングしたいフィールドを指定できます。
limit
ソート後に返されるタスクの数を制限します。
例:
subtasks order by desc any.timeSpent - any.estimated limit 3
予定所要時間より経過時間が大きい上位3つの子タスクが一覧表示されます。
演算子の優先順位
場合によっては、計算の順序が数式の戻り値に影響することがあります。そのため、Quireでの演算の順序を理解することが重要です。1つの数式に異なる演算子を組み合わせる場合、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(条件分岐)の数式はどう書きますか?
2つの結果がある条件には ?: を使用します — (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倍にします。