If フローロジック

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:3分
  • 条件のリストが満たされた場合にのみ、1 つ以上のアクションを選択的に適用します。

    このフローロジックを使用するには、現在のレコードに基づく条件を指定します。アクションまたはサブフローは、If フローロジック内のフローに追加できます。このフローでは、条件が true に評価されると、このフローロジック内のアクションを実行します。タスクのステータスや緊急度の値など、レコード内のデータに基づいて条件を作成します。
    注:
    If フローロジックの Then 分岐の内からデータピル値を設定すると、データピル値は同じ分岐内の他のアクションでのみ使用できます。フローロジック分岐の外から Then 分岐の内で設定されたデータピル値を参照すると、null 値が生成されます。

    ネストされた If フローロジックブロック

    子の If フローロジックブロックを親の If フローロジックブロックに追加できます。子の If フローロジックブロックを親フローロジックブロックの Then 分岐に追加します。

    1 つの If フローロジックブロックを別の If フローロジックブロック内に持つフローの例。

    入力

    入力 説明
    条件のラベル 分岐条件を説明するラベル。ラベルを使うと、長くて複雑な条件データピル値よりも読みやすくなります。
    条件 分岐を実行する条件このフローでは、条件が true と評価されると、Then 分岐の内容を実行します。

    出力

    このフローロジックには出力はありません。

    インシデントの緊急度が高い場合にアクションを実行する

    この例では、インシデントレコードの緊急度の値が高いと、アクションがトリガーされます。

    If 分岐の例。

    実行の詳細

    図 : 1. If フローロジックの実行の詳細
    If 分岐の実行の詳細。
    1. ヘッダーには、フローロジックの状態、開始時刻、ランタイムが表示されます。
    2. [構成詳細] セクションには、各変数のタイプ、構成、およびランタイム値など、フローで使用される変数に関する詳細が表示されます。分岐条件が満たされたかどうかを確認するには、条件変数を使用します。

    一般的なガイドライン

    効果的な If フローロジックブロックを作成するときは、これらの一般的なガイドラインを使用してください。

    Then 分岐の外でデータピル値を参照しない
    If フローロジックの Then 分岐の内からデータピル値を設定すると、データピル値は同じ分岐内の他のアクションでのみ使用できます。フローロジック分岐の外から Then 分岐の内で設定されたデータピル値を参照すると、null 値が生成されます。
    独自の条件セット内の一致条件タイプをグループ化する
    同じフィールド値に対して異なるタイプの条件を混在させると、予期しない結果が生じる可能性があります。たとえば、インシデントの簡単な説明に関する複数の OR 条件のグループに AND 条件を追加すると、If 条件が true と評価されない状況が発生する可能性があります。同じフィールドに対する同様の条件タイプは、条件グループを使用してグループ化します。たとえば、インシデントの簡単な説明に関するすべての OR 条件を 1 つの条件セットにグループ化し、インシデントの簡単な説明に関するすべての AND 条件を別の条件セットにグループ化します。
    図 : 2. 一致条件を条件セットにグループ化する例
    条件セットの例。最初の条件セットには 3 つの or 条件があり、2 番目の条件セットには 2 つの and 条件があります。
    複数の If フローロジックブロックを Make a decision フローロジックブロックに置き換える
    条件によってのみ異なる If フローロジックブロックを重複して作成するのではなく、ディシジョンテーブルを使用して回答を生成します。たとえば、インシデントカテゴリを使用して、インシデントタスクレコードのアサイン先グループを設定するとします。カテゴリ値ごとに重複する If フローロジックブロックを作成するのではなく、Make a decision フローロジックを使用して、アサイン先グループに回答を提供します。

    以下は、それぞれがインシデントタスクレコードを作成する 3 つの If フローロジックブロックを使用するフローの例です。これらの If フローロジックブロックの唯一の違いは、インシデントカテゴリの条件です。

    図 : 3. 同じアクションを実行する複数の If フローロジックブロックの例
    3 つの If フローロジックブロックを含むフローの例。各 If ブロックはインシデントカテゴリ値をチェックし、一致するグループにアサインされたインシデントタスクを作成します。

    以下は、単一の Make a decision フローロジックブロックを使用して、インシデントカテゴリからインシデントタスクのアサイン先グループを決定するフローの例です。[タスクの作成] アクションは、意思決定の出力を入力として使用します。

    図 : 4. 複数の If フローロジックブロックを意思決定に置き換える例
    カテゴリごとにアサインを決定するための Make a decision フローロジックブロックを含むフローの例。[タスクを作成] アクションは 3 つではなく 1 つです。

    インシデントレコード値を入力として使用するディシジョンテーブルの例を次に示します。[条件] 列は 2 つのインシデントカテゴリ値で構成されます。[結果] 列は、各条件値に使用するアサイン先グループで構成されます。

    図 : 5. [カテゴリからアサイン先グループを取得 (Get Assignment Group from Category)] ディシジョンテーブルの例
    インシデントカテゴリの条件列とアサイン先グループの結果列を含むディシジョンテーブルの例。