All Products
Search
Document Center

Data Management:Variabel

Last Updated:Jun 13, 2026

Topik ini menjelaskan variabel yang digunakan dalam orkestrasi task.

Ikhtisar variabel

Variabel adalah nilai dinamis dalam alur task, dikategorikan sebagai variabel sistem, variabel waktu, dan variabel non-waktu. Anda dapat mereferensikan variabel apa pun di dalam suatu node menggunakan sintaks ${varName}.

System variables

System variables adalah nilai yang telah ditentukan sebelumnya, seperti ID alur task saat ini dan waktu eksekusi alur task tersebut.

Catatan

Jika variabel kustom memiliki nama yang sama dengan system variable, nilainya akan menggantikan nilai system variable tersebut, sehingga variabel kustom memiliki prioritas lebih tinggi.

Time variables

  • Variabel alur task (variabel global): Variabel alur task dihitung dengan menerapkan offset waktu terhadap timestamp. Secara default, timestamp tersebut adalah waktu eksekusi dikurangi satu hari. Sebagai variabel global, variabel ini tersedia untuk semua node dalam alur task saat ini.

    Catatan

    Anda dapat mengonfigurasi variabel alur task pada node mana pun dalam alur task. Konfigurasi tersebut secara otomatis disinkronkan ke semua node lainnya.

  • Variabel node: Variabel waktu yang dibuat dengan menerapkan offset waktu terhadap variabel bawaan bizdate (T-1). Variabel node hanya berlaku dalam cakupan node tempat variabel tersebut didefinisikan.

    Sebagai contoh, jika tanggal saat ini adalah 22 Agustus 2023 dan Anda menerapkan offset waktu +1 hari, nilai variabel tersebut menjadi 23 Agustus 2023.

Non-time variables

  • Konstanta alur task (variabel global): Konstanta alur task adalah nilai tetap yang dapat digunakan di semua node dalam alur task saat ini.

  • Variabel input: Sistem secara otomatis mengisi variabel input. Anda dapat mereferensikan variabel input dalam pernyataan SQL pada node saat ini menggunakan sintaks ${var_name} atau sebagai variabel kondisional dalam node Conditional Branch. Variabel input mencakup:

    • Variabel hulu: Variabel output dari node hulu.

    • Variabel status: Untuk informasi selengkapnya, lihat Status variables.

    • System variable: Untuk informasi selengkapnya, lihat System variables.

  • Variabel output: Anda mendefinisikan dan memberikan nilai pada variabel output di node saat ini. Node hilir kemudian dapat mengakses dan mereferensikannya.

    Sebagai contoh, jika Anda mengonfigurasi variabel output dalam node Script, variabel tersebut dapat direferensikan dalam pernyataan SQL pada node hilir.

  • Variabel output dari node Single Instance SQL: Anda dapat menggunakan node Single Instance SQL untuk mendefinisikan set hasil dari kueri SQL. Set hasil ini membentuk matriks dua dimensi. Saat mendefinisikan variabel, Anda dapat mengekstraksi satu elemen tunggal atau menggabungkan semua nilai dari satu baris atau kolom.

  • Variabel output skrip: Jika baris terakhir dari output skrip berupa objek JSON dalam format { key1: value1, key2: value2, … }, dan nilainya bertipe String, task skrip secara otomatis mengurai pasangan kunci-nilai JSON tersebut. Hal ini membuat variabel bernama key, dan nilai variabel key diatur sesuai dengan nilai yang sesuai. Anda dapat mereferensikan variabel tersebut sebagai ${key}.

    Sebagai contoh, jika baris terakhir skrip adalah echo {"hello": "world"}, task skrip membuat variabel bernama hello, dan nilai hello adalah world.

Konfigurasi time variables

Parameter

Deskripsi

Variable name

Masukkan nama variabel kustom.

Catatan

Untuk menghapus variabel yang telah dikonfigurasi, klik ikon 删除-变量.

Variable rule

Konfigurasikan aturan untuk time variable.

  • Format waktu: Tentukan format waktu yang diinginkan. Untuk informasi selengkapnya, lihat Time formats.

  • Offset waktu: Time variable dihitung dengan menerapkan offset terhadap data timestamp (bizdate), yang secara default adalah satu hari sebelum waktu eksekusi alur task.

    Sebagai contoh, pertimbangkan variabel bernama6_month_ago dengan format waktu yyyy-MM-dd dan offset -6 bulan. Jika waktu eksekusi adalah 2021-08-12 (sehingga bizdate adalah 2021-08-11), nilai variabel${6_month_ago} adalah 2021-02-11.

    Penggunaan bulan atau tahun sebagai satuan offset dapat menghasilkan urutan tanggal yang tidak kontinu. Untuk urutan harian yang kontinu, gunakan hari sebagai satuan offset.

Catatan

Setelah Anda mengonfigurasi time variable, Anda dapat mereferensikannya dalam pernyataan SQL menggunakan sintaks${var_name}. Anda juga dapat mengklik SQL Preview untuk memeriksa nilai time variable tersebut.

Time formats

Tabel berikut menjelaskan spesifikasi format waktu yang didukung.

Penentu

Deskripsi

Contoh input

Contoh output

Era

G menunjukkan era.

Gyyyy

AD 2021

Tahun

  • y atau yyyy: Tahun.

  • yy: Dua digit terakhir tahun.

  • Y: Tahun penomoran minggu, yaitu tahun pada akhir minggu (Minggu).

yyyy

2021

Bulan

M: Bulan dalam tahun. Nilai valid: [1,12]. MM: Diisi nol di depan. Nilai valid: [01,12].

MM

08

Minggu

  • w: Minggu dalam tahun. Nilai valid: [1, 52]. ww: Diisi nol di depan. Nilai valid: [01, 52].

  • W: Minggu dalam bulan. Nilai valid: [1, 5].

ww

13

Hari

  • D: Hari dalam tahun. Nilai valid: [1, 365]. DD: Diisi nol di depan. Nilai valid: [01, 365]. DDD: Diisi dua nol di depan. Nilai valid: [001, 365].

  • d: Hari dalam bulan. Nilai valid: [1, 31]. dd: Diisi nol di depan. Nilai valid: [01, 31].

D

360

Hari dalam minggu

  • E: Nama hari dalam minggu, dari Senin hingga Minggu.

  • e: Nomor hari dalam minggu. Nilai valid: [1, 7]. Secara default, 1 merepresentasikan Senin.

    Catatan

    Anda dapat mengatur offset waktu ke +1 hari agar sesuai dengan kalender yang menggunakan 1 untuk Minggu.

e

1

AM/PM

a: Penanda AM/PM. Mengembalikan AM untuk waktu 00:00–11:59, dan PM untuk waktu 12:00–23:59.

a

AM

Jam

  • H: Jam dalam hari (0–23). 0 merepresentasikan tengah malam. Nilai valid: [0, 23]. HH: Diisi nol di depan. Nilai valid: [00, 23].

  • h: Jam dalam format AM/PM (1–12). 1 merepresentasikan jam pertama. Nilai valid: [1, 12]. hh: Diisi nol di depan. Nilai valid: [01, 12].

  • K: Jam dalam format AM/PM (0–11). 0 merepresentasikan jam pertama. Nilai valid: [0, 11]. KK: Diisi nol di depan. Nilai valid: [00, 11].

  • k: Jam dalam hari (1–24). 1 merepresentasikan jam pertama. Nilai valid: [1, 24]. kk: Diisi nol di depan. Nilai valid: [01, 24].

HH

10

Menit

m: Menit dalam jam. Nilai valid: [0, 59]. mm: Diisi nol di depan. Nilai valid: [00, 59].

m

27

Kedua

  • s: Detik dalam menit.

  • S: Milidetik.

ss

08

Zona waktu

z: Zona waktu.

z

UTC+08:00

Contoh format waktu gabungan:

Contoh input

Contoh output

yyyy-MM-dd

2021-08-12

yyyyMM01

20210801

HH:mm:ss

11:05:21

yyyyMMdd HH:mm:ss

20210812 11:05:21

System variables

Nama variabel

Deskripsi

Contoh

sys.flow.start.timestamp

Timestamp waktu eksekusi.

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

sys.flow.start.year

Tahun waktu eksekusi.

2021

sys.flow.start.month

Bulan waktu eksekusi.

5

sys.flow.start.day

Hari waktu eksekusi.

24

sys.flow.start.hour

Jam waktu eksekusi.

11

sys.flow.start.minute

Menit waktu eksekusi.

20

sys.flow.start.second

Detik waktu eksekusi.

7

sys.flow.start.milliseconds

Milidetik waktu eksekusi.

562

sys.flow.start.timezone

Zona waktu eksekusi.

Asia/Shanghai

sys.flow.biztime

Data timestamp. Secara default, ini adalah waktu eksekusi dikurangi satu hari.

1621740007562

sys.flow.name

Nama alur task.

dwd_activity_daily_pv

sys.node.name

Nama node.

Single Instance SQL-1

Status variables

Nama variabel

Deskripsi

all_success

Semua task hulu berhasil dijalankan.

all_failed

Semua task hulu gagal.

one_success

Setidaknya satu task hulu berhasil dijalankan.

one_failed

Setidaknya satu task hulu gagal.

Catatan

Anda dapat menggunakan status variables dalam node Conditional Branch untuk mengontrol apakah alur task menjalankan task berikutnya berdasarkan status eksekusi tertentu.