If フローロジック

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

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

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

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

    入力

    入力 説明
    条件のラベル 分岐条件を説明するラベル。ラベルを使うと、長くて複雑な条件データピル値よりも読みやすくなります。
    条件 分岐を実行する条件このフローでは、条件が 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)] ディシジョンテーブルの例
    インシデントカテゴリの条件列とアサイン先グループの結果列を含むディシジョンテーブルの例。