すべてのプロダクト
Search
ドキュメントセンター

DataWorks:ブランチノード

最終更新日:Jul 10, 2026

ブランチノードは、Data Studio における制御フローノードの一種です。これを使用して、分岐ロジックを定義し、指定された条件に基づいてタスクを異なるダウンストリームブランチに振り分けることができます。

概要

ブランチノードは、Python 比較演算子を使用してアップストリームノードからの出力パラメータを評価します。この評価によって複数の条件分岐が作成され、アップストリームの結果に基づいて異なるダウンストリームノードを実行できるようになります。

前提条件

  • 使用する RAM ユーザーがワークスペースに追加されていること。

    RAM ユーザーを使用してタスクを開発する場合、RAM ユーザーをメンバーとしてワークスペースに追加し、[開発] ロールまたは [ワークスペース管理者] ロールを RAM ユーザーに割り当てる必要があります。 ワークスペース管理者ロールには、必要以上の権限があります。 ワークスペース管理者ロールを割り当てる場合は注意してください。 メンバーを追加してロールを割り当てる方法の詳細については、「ワークスペースメンバーを追加してロールを割り当てる」をご参照ください。

  • サーバーレス リソースグループがワークスペースに関連付けられていること。 詳細については、「サーバーレス リソースグループを使用する」ディレクトリのトピックをご参照ください。

  • ブランチノードを設定する前に、作成しておく必要があります。詳細については、「スケジューリングワークフローノードの作成」をご参照ください。

注意事項

  • ブランチノードは、DataWorks Standard Edition 以降でのみ使用できます。DataWorks のエディションと購入方法の詳細については、「DataWorks のエディション」をご参照ください。

  • 1 つのブランチノードは、最大 50 のブランチをサポートします。

  • ブランチノードは通常、代入ノードと組み合わせて使用します。詳細については、「代入ノード」をご参照ください。

  • ダウンストリームブランチの条件が満たされない場合、そのブランチ内のタスクはドライラン状態になります。ログには It's set condition-skip by task のようなメッセージが記録されます。

  • ブランチ条件では、空文字列 ('') を使用した評価をサポートしていません。たとえば、ブランチ条件が '${tp_code}' != '' で、パラメータ値がスペースの場合、スペースを「値がある」と評価します (スペースは空文字列と等しくないため) 。そのため、ブランチが選択されます。空の値を表すには、特殊なプレースホルダーを使用することを推奨します。たとえば、パラメータのデフォルト値を tp_code='NONE' に設定し、ブランチ条件を '${tp_code}' != 'NONE' のように設定します。

ステップ 1:ブランチノードの開発

  1. ブランチノードの設定ページに移動し、分岐ロジックを定義します。

    1. Definition ページで、Add Branch をクリックします。

    2. Branch Definition ダイアログボックスで、パラメータを設定します。

      パラメータ

      説明

      [Condition]

      • ブランチ条件は、Python 比較演算子を使用して定義します。

      • 実行時に式が true と評価された場合、ブランチ条件が満たされます。

      • 実行時に式を解析できない場合、ブランチノードインスタンス全体が失敗します。

      • 条件内では、グローバル変数やノードコンテキストで定義されたパラメータを使用できます。たとえば、${input} はブランチノードの入力パラメータにすることができます。

      [Associated Node Output]

      • ノード出力は、ダウンストリームノードの依存関係を作成します。

      • ブランチ条件が満たされた場合、リンクされた出力に依存するダウンストリームノードが実行されます。その実行は、他のアップストリームノードのステータスにも依存します。

      • ブランチ条件が満たされない場合、リンクされた出力に依存するダウンストリームノードは実行されません。ノードのステータスは Not run because branch condition not met に設定されます。

      [Description]

      ブランチ定義の簡単な説明です。たとえば、${input}==1${input}>2 という条件を持つ 2 つのブランチを定義できます。

  2. ダウンストリームノードを設定します。

    ブランチノードのダウンストリームには、さまざまなタイプのノードを設定できます。この例では、MySQL ノードを使用します。

    1. branch_1branch_2 という名前の 2 つの MySQL ノードを作成し、各ノードの開発ページに移動します。

    2. MySQL ノード開発ページの右側で、Scheduling Settings > Scheduling Dependency を選択し、Add Dependency をクリックして、アップストリームブランチノードとその対応する出力を選択してから、設定を保存します。

  3. ブランチノードとそのダウンストリームノードの開発が完了したら、スケジューリングプロパティを設定して定期実行を有効にします。詳細については、「ノードのスケジューリングプロパティの設定」をご参照ください。

ステップ 2:ノードのデプロイと管理

  1. スケジューリング設定が完了したら、ノードを本番環境にデプロイします。詳細については、「ノードとワークフローのデプロイ」をご参照ください。

  2. タスクがデプロイされると、設定されたスケジュールに基づいて定期的に実行されます。Operation and Maintenance Center > タスクの運用保守 > 定期タスクの運用保守 > Auto Triggered Task に移動して、デプロイされたスケジュールタスクを表示し、運用保守を実行できます。詳細については、「運用保守センターの概要」をご参照ください。

付録:Python 比較演算子

変数 a が 10、変数 b が 20 であると仮定します。

演算子

説明

==

2 つのオブジェクトが等しいかどうかをチェックします。

(a == b)false を返します。

!=

2 つのオブジェクトが等しくないかどうかをチェックします。

(a != b)true を返します。

<>

2 つのオブジェクトが等しくないかどうかをチェックします。

(a <> b)true を返します。この演算子は != と同様です。

>

x が y より大きいかどうかをチェックします。

(a > b)false を返します。

<

x が y より小さいかどうかをチェックします。すべての比較演算子は、true の場合は 1 を、false の場合は 0 を返します。これらの値は、それぞれ特殊変数 True および False と等価です。

(a < b)true を返します。

>=

x が y 以上かどうかをチェックします。

(a >= b)false を返します。

<=

x が y 以下かどうかをチェックします。

(a <= b)true を返します。