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

:分岐ノード

最終更新日:Apr 25, 2025

分岐ノードは、Data Studio の論理制御ノードの一種です。分岐ノードは、さまざまな論理条件下での分岐ロジックと分岐方向を定義できます。

ノードの概要

分岐ノードは、Python 比較演算子を使用して、先祖ノードから取得した出力パラメーターを評価し、複数の分岐ノードを生成できます。この場合、子孫ノードは、先祖ノードのパラメーター結果に基づいてさまざまな条件で実行できます。

前提条件

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

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

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

  • 分岐ノードでタスクを開発する前に、分岐ノードが作成されていること。詳細については、「タスクノードを作成する」をご参照ください。

注意事項

  • 分岐ノードは、DataWorks Standard Edition 以降のエディションでのみサポートされています。DataWorks のエディションについては、「DataWorks エディション間の違い」をご参照ください。

  • 分岐ノードには最大 50 個の分岐をアタッチできます。

  • ほとんどの場合、分岐ノードは代入ノードと組み合わせて使用する必要があります。

  • 分岐ノードの子孫ノードが特定の条件を満たさない場合、子孫ノードはドライランされ、It's set condition-skip by task というメッセージが表示されます。

手順 1:分岐ノードを使用してタスクを開発する

  1. 分岐ノードの構成タブに移動します。構成タブの [定義] セクションで、分岐ロジックをカスタマイズします。

    1. [定義] セクションで、[分岐の追加] をクリックします。

    2. [分岐定義] ダイアログボックスで、パラメーターを構成します。

      image

      パラメーター

      説明

      条件

      分岐条件については、以下で説明します。

      • Python 比較演算子のみを使用して、分岐ノードの論理条件を定義できます。

      • ノードの実行時に式の結果が true の場合、対応する分岐条件が満たされます。

      • ノードの実行時に式を解析できない場合、分岐ノード全体が失敗します。

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

      関連付けられたノード出力

      関連付けられたノード出力については、以下で説明します。

      • ノード出力は、子ノードと分岐ノード間の依存関係を構成するために使用されます。

      • 分岐条件が満たされた場合、ノード出力に依存する子ノードが実行されます。子ノードが他のノードの出力にも依存している場合、これらのノードのステータスも重要になります。

      • 分岐条件が満たされない場合、ノード出力に依存する子ノードは実行されません。分岐条件が満たされないため、子ノードは 実行しない 状態に設定されます。

      説明

      分岐の説明。たとえば、${input}==1${input}>2 の分岐が定義されています。

  2. 分岐ノードの子孫ノードを構成します。

    分岐ノードには複数の子ノードを設定できます。この例では、MySQL ノードが子孫ノードとして構成されています。

    1. Branch 1Branch 2 という名前の 2 つの MySQL ノードを作成し、ノードの構成タブに移動します。

    2. MySQL ノードの構成タブの右側にあるナビゲーションウィンドウで、[プロパティ] をクリックします。[スケジューリングの依存関係] タブの [依存関係の追加] をクリックし、[先祖オブジェクト] に分岐ノードを選択します。次に、[出力名] パラメーターを構成し、[追加] をクリックします。

      image

  3. 分岐ノードとその子ノードを開発した後、ノードのスケジューリングプロパティを構成して、システムがノードを定期的にスケジュールできるようにします。

手順 2:分岐ノードをデプロイし、O&M 操作を実行する

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

  2. デプロイメントが完了したら、[オペレーションセンター][自動トリガーノード] ページに移動して、デプロイされたノードを表示し、ノードで O&M 操作を実行します。システムは、構成したスケジューリング設定に基づいてノードを定期的に実行します。詳細については、「オペレーションセンターの概要」をご参照ください。

付録:サポートされている Python 比較演算子

たとえば、次の表では、変数 a の値は 10、変数 b の値は 20 です。

演算子

説明

==

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

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

!=

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

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

<>

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

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

>

より大きい:x が y より大きいかどうかを確認します。

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

<

より小さい:x が y より小さいかどうかを確認します。返される結果は 1 または 0 です。1 は true を示し、0 は false を示します。結果 1 と 0 は、特殊変数 true と false と同等です。

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

>=

以上:x が y 以上かどうかを確認します。

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

<=

以下:x が y 以下かどうかを確認します。

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