Dataform core memungkinkan Anda membuat objek alur kerja SQL dengan SQLX dan JavaScript. Meskipun opsional, gunakan JavaScript beserta SQLX untuk membuat elemen serupa berulang kali dalam alur kerja Anda. Misalnya, dengan JavaScript, Anda dapat membuat tampilan setiap tabel dalam alur kerja Anda dengan menghapus ID pengguna tertentu. Anda juga dapat mengembangkan objek alur kerja SQL secara eksklusif dengan JavaScript.
Untuk mulai mengembangkan alur kerja Dataform SQL menggunakan JavaScript, Anda harus memahami sintaksis JavaScript dan konsep JavaScript berikut:
- Variabel
- Array
- Pernyataan bersyarat
- Loop For
- Maps
- Functions
- Objek
- Mengekspor dan mengimpor modul
Menambahkan kode JavaScript ke file SQLX
Anda dapat menambahkan kode JavaScript ke file SQLX dengan dua cara: secara inline atau di dalam blok JavaScript.
Anda dapat menggunakan blok JavaScript untuk menentukan fungsi atau konstanta dalam file SQLX. Anda dapat menggunakan JavaScript inline untuk mengubah kueri SQLX atau SQL secara dinamis.
Contoh kode berikut menunjukkan fungsi JavaScript bawaan inti Dataform
self
yang ditambahkan secara inline ke blok post_operations
dalam file SQLX:
config {type: "table"}
SELECT * FROM ...
post_operations {
GRANT SELECT on ${self()} to GROUP "allusers@samplecompany.com"
---
GRANT SELECT on ${self()} to GROUP "allotherusers@samplecompany.com"
}
Contoh kode berikut menunjukkan konstanta yang ditentukan dalam blok JavaScript dan digunakan secara inline dalam kueri di file SQLX:
js {
const columnName = "foo";
}
SELECT 1 AS ${columnName} FROM "..."
Menggunakan kembali kode di Dataform dengan JavaScript
Anda dapat menggunakan kembali kode JavaScript untuk menyederhanakan pengembangan di Dataform. Untuk menggunakan kembali konstanta dan fungsi JavaScript di satu file SQLX, Anda dapat mengenkapsulasinya dalam blok JavaScript. Untuk menggunakan kembali kode JavaScript di seluruh satu repositori Dataform, Anda dapat membuat penyertaan. Untuk menggunakan kembali kode JavaScript di beberapa repositori Dataform, Anda dapat membuat atau mengimpor paket.
Menggunakan kembali kode di satu file SQLX dengan enkapsulasi JavaScript
Untuk membuat bagian kode SQL berulang yang dapat digunakan kembali dalam satu file SQLX, Anda dapat mengenkapsulasi fungsi dan konstanta dalam blok JavaScript. Anda dapat menggunakan kembali kode yang ditentukan dalam blok JavaScript hanya di dalam file SQLX tempat blok ditentukan. Untuk informasi selengkapnya, lihat Ringkasan inti Dataform.
Contoh kode berikut menunjukkan konstanta dan fungsi yang ditentukan dalam blok JavaScript dan digunakan secara inline di dalam kueri di file SQLX:
js {
const foo = 1;
function bar(number){
return number+1;
}
}
select
${foo} as one,
${bar(foo)} as two
Menggunakan kembali kode di satu repositori dengan penyertaan
Menyertakan konstanta JavaScript atau fungsi global untuk repositori Anda.
Anda menentukan include dalam direktori includes
dari repositori Anda. Kemudian, Anda dapat menggunakannya kembali di seluruh repositori
dalam file JavaScript dan SQLX.
Contoh kode berikut menunjukkan definisi konstanta launch_date
dalam file includes/constants.js
:
// filename is includes/constants.js
const launch_date = "11.11.2011";
module.exports = { launch_date };
Contoh kode berikut menunjukkan konstanta launch_date
yang direferensikan dalam kueri
definisi tabel dalam file SQLX:
config {type: "table"}
SELECT * FROM source_table WHERE date > ${constants.launch_date}
Menggunakan kembali kode di beberapa repositori dengan paket
Paket adalah kumpulan kode JavaScript yang dapat Anda impor dan gunakan di beberapa repositori Dataform untuk menyederhanakan pengembangan alur kerja SQL.
Anda dapat membuat paket kustom sendiri di Dataform atau menggunakan salah satu paket Dataform open source, yang tersedia di halaman Dataform open source GitHub.
Untuk contoh penggunaan paket open source di Dataform, lihat Menggunakan dimensi yang secara perlahan berubah di Dataform.
Agar dapat menggunakan konten paket dalam Dataform, Anda harus menginstal paket di repositori Dataform, lalu mengimpornya ke setiap file JavaScript atau SQLX tempat Anda ingin menggunakan paket. Untuk informasi selengkapnya, lihat Menginstal paket dalam Dataform.
Agar dapat menginstal paket NPM pribadi dalam repositori Dataform, Anda harus mengautentikasi paket.
Membuat alur kerja SQL di JavaScript
Sebagai alternatif untuk mengembangkan alur kerja SQL di SQLX, atau SQLX yang dikombinasikan dengan
JavaScript, Anda dapat membuat objek alur kerja SQL dalam file .js
hanya dengan menggunakan
JavaScript. Anda dapat membuat beberapa objek alur kerja SQL dalam satu file
JavaScript dengan metode global Dataform dan kode ES5 JavaScript arbitrer,
seperti loop dan konstanta. Setiap metode JavaScript global Dataform berisi properti yang dapat Anda gunakan untuk mengonfigurasi objek yang dibuat.
Anda dapat membuat objek alur kerja SQL berikut hanya dengan menggunakan JavaScript dalam Dataform:
- Deklarasi sumber data
- Pernyataan manual
- Tables
- Pernyataan manual
- Operasi SQL kustom
Untuk informasi selengkapnya tentang cara membuat objek alur kerja SQL menggunakan JavaScript saja, lihat Membuat alur kerja SQL Dataform dengan JavaScript.
Langkah selanjutnya
- Untuk mempelajari cara menggunakan kembali variabel dan fungsi dengan penyertaan, lihat Menggunakan kembali variabel dan fungsi dengan penyertaan dalam Dataform.
- Untuk mempelajari cara membuat paket, lihat Membuat paket dalam Dataform.
- Untuk mempelajari cara menginstal paket, lihat Menginstal paket di Dataform.
- Untuk mempelajari cara mengautentikasi paket pribadi, lihat Mengautentikasi paket pribadi.
- Untuk mempelajari cara menggunakan paket open source di Dataform, lihat Menggunakan dimensi yang secara perlahan mengubah di Dataform.
- Untuk mempelajari cara membuat alur kerja SQL dengan JavaScript, lihat Membuat alur kerja Dataform SQL dengan JavaScript.