演算子と優先順位
ProcessMindの式では、算術計算、比較、論理演算にさまざまな演算子を使用できます。
演算子
算術演算子
| 記号 | Name | 説明 | 例 | 結果 |
|---|---|---|---|---|
| + | 加算 | 2つの数値を加算するか、文字列を連結します | 5 + 3 | 8 |
| - | 減算 | 1つ目の数値から2つ目の数値を引きます | 10 - 4 | 6 |
| * | 乗算 | 2つの数値を掛けます | 6 * 7 | 42 |
| / | 除算 | 1つ目の数値を2つ目の数値で割ります | 15 / 3 | 5 |
比較演算子
| 記号 | Name | 説明 | 例 | 結果 |
|---|---|---|---|---|
| == | 等しい | 2つの値が等しいかどうかを確認します | Status == "アクティブ" | trueまたはfalse |
| != | 等しくない | 2つの値が等しくないかどうかを確認します | Status != "削除" | trueまたはfalse |
| < | より小さい | 1つ目の値が2つ目の値より小さいかどうかを確認します | Amount < 100 | trueまたはfalse |
| > | より大きい | 1つ目の値が2つ目の値より大きいかどうかを確認します | Amount > 1000 | trueまたはfalse |
| <= | 以下 | 1つ目の値が2つ目の値以下かどうかを確認します | Count <= 10 | trueまたはfalse |
| >= | 以上 | 1つ目の値が2つ目の値以上かどうかを確認します | Score >= 80 | trueまたはfalse |
| in | リスト内にある | 値が値のリストに含まれているかどうかを確認します | Status in ["A", "B", "C"] | trueまたはfalse |
論理演算子
| 記号 | Name | 説明 | 例 | 結果 |
|---|---|---|---|---|
| && | 論理積 | 両方の条件がtrueの場合にtrueを返します | Amount > 100 && Status == "アクティブ" | trueまたはfalse |
| and | 論理積(キーワード) | &&の別表記です。両方の条件がtrueの場合にtrueを返します | Amount > 100 and Status == "アクティブ" | trueまたはfalse |
| || | 論理和 | 少なくとも1つの条件がtrueの場合にtrueを返します | Priority == "High" || Urgent == true | trueまたはfalse |
| or | 論理和(キーワード) | ||の別表記です。少なくとも1つの条件がtrueの場合にtrueを返します | Priority == "High" or Urgent == true | trueまたはfalse |
| ! | 論理否定 | ブール値を否定します | !IsDeleted | trueまたはfalse |
| not | 論理否定(キーワード) | !の別表記です。ブール値を否定します | not IsDeleted | trueまたはfalse |
優先順位
優先順位の高い演算子から先に評価されます。括弧を使うと、既定の優先順位を変更できます。
| 優先順位 | Category | 演算子 | Associativity |
|---|---|---|---|
| 1 | 論理和 | || , or | 左から右 |
| 2 | 論理積 | && , and | 左から右 |
| 3 | 等価 | == , != | 左から右 |
| 4 | 比較 | < , > , <= , >= , in | 左から右 |
| 5 | 加算/減算 | + , - | 左から右 |
| 6 | 乗算/除算 | * , / | 左から右 |
| 7 | 単項演算 | ! , not , - | 右から左 |
| 8 | 関数呼び出し | () | 左から右 |
| 9 | 括弧 | ( ) | — |
演算子に関する注意点
-
+を使った文字列の連結:+演算子は、どちらかのオペランドが文字列の場合にも文字列を連結します:"Hello" + " " + "World" → "Hello World" -
in演算子は、複数のOR比較と同じ意味です:Status in ["Pending", "Active", "Review"] // is the same as: Status == "Pending" || Status == "Active" || Status == "Review"
使用例
-
条件の組み合わせ:
// Both conditions must be true Amount > 1000 && Region == "Europe" // At least one condition must be true Priority == "High" or Escalated == true // Negation not IsArchived
三項演算子
三項演算子を使うと、単純なif/elseロジックを短く記述できます:
-
構文:
condition ? valueIfTrue : valueIfFalse -
例:
Amount > 1000 ? "High" : "Low" -
次の式と同じです:
if(Amount > 1000, "High", "Low")
優先順位の例
-
括弧なし:
2 + 3 * 4 → 14 (multiplication first) 10 > 5 && 3 < 7 → true (comparisons before AND) -
括弧あり:
(2 + 3) * 4 → 20 (addition first)
特殊な構文
-
引用符付き識別子:列名に空白や特殊文字が含まれる場合は、バッククォートで囲みます:
`Order Amount` * 0.1 `Customer Name` `2024 Revenue` -
文字列内のエスケープ:文字列内の特殊文字をエスケープするには、バックスラッシュを使います:
"Line 1\nLine 2" // newline "Tab\there" // tab "Say \"Hello\"" // double quote "Path\\to\\file" // backslash -
null値:
nullは欠損値を表します。nullを含む比較の結果はnullとなり、trueやfalseにはなりません。欠損値はisNull()関数で確認します:if(isNull(Department), "Unknown", Department)
関連トピック
- 式の概要:すべての式関数。
プロセスをより良く設計し、つながりのあるアーキテクチャを構築して、管理を続けましょう。
クレジットカード不要、待ち時間なしですぐにご利用いただけます。組織の業務の進め方を、明確につながるプロセス設計として可視化します。
プロセスアーキテクチャを構築し、オーナーシップと統制を定め、あらゆる階層で役割と責任を明確にします。
無料トライアルを開始して、プロセスのガバナンス、管理、継続的な改善を支える信頼できる基盤を築きましょう。