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

Data Management:変数

最終更新日:Jun 13, 2026

このトピックでは、タスクオーケストレーションで使用される変数について説明します。

変数の概要

変数はタスクフロー内の動的値であり、システム変数、時間変数、非時間変数に分類されます。ノード内では、${varName} 構文を使用して任意の変数を参照できます。

システム変数

システム変数は、現在のタスクフロー ID やタスクフローの実行時刻などの事前定義された値です。

説明

カスタム変数がシステム変数と同じ名前を持つ場合、その値はシステム変数の値をオーバーライドし、カスタム変数の方が高い優先度を持ちます。

時間変数

  • タスクフロー変数(グローバル変数):タスクフロー変数は、データタイムスタンプに時間オフセットを適用して計算されます。デフォルトでは、データタイムスタンプは実行時刻の前日です。グローバル変数であるため、現在のタスクフロー内のすべてのノードで利用可能です。

    説明

    タスクフロー内の任意のノードでタスクフロー変数を構成できます。構成内容は自動的に他のすべてのノードに同期されます。

  • ノード変数:組み込みの bizdate(T-1)変数に時間オフセットを適用して作成される時間変数です。ノード変数のスコープは、その変数を定義したノードに限定されます。

    たとえば、現在の日付が 2023 年 8 月 22 日で、+1 日の時間オフセットを適用すると、変数の値は 2023 年 8 月 23 日になります。

非時間変数

  • タスクフロー定数(グローバル変数):タスクフロー定数は固定値であり、現在のタスクフロー内のすべてのノードで使用できます。

  • 入力変数:システムが自動的に入力変数を設定します。現在のノードの SQL ステートメント内で ${var_name} 構文を使用するか、条件付き分岐ノードの条件変数として入力変数を参照できます。入力変数には以下が含まれます。

    • 上流変数:上流ノードからの出力変数。

    • ステータス変数:詳細については、「ステータス変数」をご参照ください。

    • システム変数:詳細については、「システム変数」をご参照ください。

  • 出力変数:現在のノードで出力変数を定義し、値を割り当てます。下流ノードはその後、その変数にアクセスおよび参照できます。

    たとえば、スクリプトノードで出力変数を構成すると、下流ノードの SQL ステートメントで参照できます。

  • Single Instance SQL ノードからの出力変数:Single Instance SQL ノードを使用して、SQL クエリから結果セットを定義できます。この結果セットは二次元マトリックスを形成します。変数定義時に、行または列から単一の要素を抽出するか、すべての値を連結できます。

  • スクリプト出力変数:スクリプトの最終行の出力が{ key1: value1, key2: value2, … } 形式の JSON オブジェクトであり、かつ値が String 型の場合、スクリプトタスクは自動的に JSON のキーと値のペアを解析します。これにより、key という名前の変数が作成され、変数key の値が対応する値に設定されます。${key} としてこの変数を参照できます。

    たとえば、スクリプトの最終行がecho {"hello": "world"} の場合、スクリプトタスクは hello という名前の変数を作成し、hello の値は world になります。

時間変数の構成

パラメーター

説明

変数名

カスタム変数の名前を入力します。

説明

構成済みの変数を削除するには、删除-变量 アイコンをクリックします。

変数ルール

時間変数のルールを構成します。

  • 時間フォーマット:目的の時間フォーマットを指定します。詳細については、「時間フォーマット」をご参照ください。

  • 時間オフセット:時間変数は、データタイムスタンプ(bizdate)にオフセットを適用して計算されます。デフォルトでは、bizdate はタスクフローの実行時刻の前日です。

    たとえば、6_month_ago という名前の変数があり、時間フォーマットが yyyy-MM-dd でオフセットが -6 ヶ月の場合、実行時刻が 2021-08-12(つまり bizdate は 2021-08-11)であれば、${6_month_ago} 変数の値は 2021-02-11 になります。

    オフセット単位として月または年を使用すると、連続しない日付シーケンスになる可能性があります。連続する日次シーケンスが必要な場合は、オフセット単位として日を使用してください。

説明

時間変数を構成後、SQL ステートメント内で ${var_name} 構文を使用して参照できます。また、SQL プレビュー をクリックして、時間変数の値を確認することもできます。

時間フォーマット

次の表は、サポートされている時間フォーマット指定子について説明しています。

指定子

説明

入力例

出力例

紀元

G は元号を表します。

Gyyyy

AD 2021

  • y または yyyy:年。

  • yy:年の下 2 桁。

  • Y:週番号付きの年(日曜日終了の週における年)。

yyyy

2021

M:年の月。有効値:[1,12]。MM:先行ゼロ付き。有効値:[01,12]。

MM

08

  • w:年の週。有効値:[1, 52]。ww:先行ゼロ付き。有効値:[01, 52]。

  • W:月の週。有効値:[1, 5]。

ww

13

  • D:年の日。有効値:[1, 365]。DD:先行ゼロ付き。有効値:[01, 365]。DDD:先行ゼロ 2 桁付き。有効値:[001, 365]。

  • d:月の日。有効値:[1, 31]。dd:先行ゼロ付き。有効値:[01, 31]。

D

360

曜日

  • E:月曜日から日曜日までの曜日の名前。

  • e:曜日の数値。有効値:[1, 7]。デフォルトでは、1 が月曜日を表します。

    説明

    1 が日曜日を表すカレンダーに合わせるには、時間オフセットを +1 日に設定できます。

e

1

午前/午後

a:午前/午後のマーカー。00:00 ~ 11:59 は AM、12:00 ~ 23:59 は PM を返します。

a

AM

  • H:1 日の時(0~23)。0 は深夜 0 時を表します。有効値:[0, 23]。HH:先行ゼロ付き。有効値:[00, 23]。

  • h:午前/午後の時(1~12)。1 は最初の 1 時間を表します。有効値:[1, 12]。hh:先行ゼロ付き。有効値:[01, 12]。

  • K:午前/午後の時(0~11)。0 は最初の 1 時間を表します。有効値:[0, 11]。KK:先行ゼロ付き。有効値:[00, 11]。

  • k:1 日の時(1~24)。1 は最初の 1 時間を表します。有効値:[1, 24]。kk:先行ゼロ付き。有効値:[01, 24]。

HH

10

m:時の分。有効値:[0, 59]。mm:先行ゼロ付き。有効値:[00, 59]。

m

27

2 番目

  • s:分の秒。

  • S:ミリ秒。

ss

08

タイムゾーン

z:タイムゾーン。

z

UTC+08:00

複合時間フォーマットの例:

入力例

出力例

yyyy-MM-dd

2021-08-12

yyyyMM01

20210801

HH:mm:ss

11:05:21

yyyyMMdd HH:mm:ss

20210812 11:05:21

システム変数

変数名

説明

sys.flow.start.timestamp

実行時刻のタイムスタンプ。

2021-05-24T11:20:07.562+08:00

sys.flow.start.year

実行時刻の年。

2021

sys.flow.start.month

実行時刻の月。

5

sys.flow.start.day

実行時刻の日。

24

sys.flow.start.hour

実行時刻の時。

11

sys.flow.start.minute

実行時刻の分。

20

sys.flow.start.second

実行時刻の秒。

7

sys.flow.start.milliseconds

ランタイムのミリ秒。

562

sys.flow.start.timezone

実行時刻のタイムゾーン。

Asia/Shanghai

sys.flow.biztime

データタイムスタンプ。デフォルトでは、実行時刻の前日です。

1621740007562

sys.flow.name

タスクフロー名。

dwd_activity_daily_pv

sys.node.name

ノード名。

Single Instance SQL-1

ステータス変数

変数名

説明

all_success

すべての上流タスクが正常に実行されました。

all_failed

すべての上流タスクが失敗しました。

one_success

少なくとも 1 つの上流タスクが正常に実行されました。

one_failed

少なくとも 1 つの上流タスクが失敗しました。

説明

条件付き分岐ノードでステータス変数を使用して、特定の実行ステータスに基づいてタスクフローが後続のタスクを実行するかどうかを制御できます。