1. Kasus penggunaan
Persiapan data adalah fitur inti platform low-code YiDA. Fitur ini membantu pengguna perusahaan membersihkan, mengintegrasikan, dan mentransformasi data mentah sebelum melakukan analisis atau membangun aplikasi. Persiapan data menerapkan pendekatan ETL (Extraction Transformation Loading) tanpa kode untuk memproses data dari aplikasi YiDA, database perusahaan eksternal, data berbasis file, dan sumber data resmi DingTalk (termasuk Daftar Karyawan, OA, Smart HR, dan Kehadiran). Dengan membangun pipeline pemrosesan data, fitur ini mengonsolidasikan data yang tersebar menjadi dataset terstandar yang mendukung analisis visual dan pengambilan keputusan berbasis data.3. Entri konfigurasi formula
Jalur: Pengaturan aplikasi > Data Factory > Persiapan Data > Buat persiapan data > Pilih dataset. Formula dapat dikonfigurasi pada node asosiasi, agregasi, dan pembersihan. Tonton video di bawah untuk instruksi pengaturan:4. Pemrosesan logis
CASEWHEN
Penggunaan 1: CASEWHEN(<kondisi>,<nilai>,<kondisi>,<nilai>…). Setara dengan sintaks CASE WHEN pada SQL. Contoh: CASEWHEN(<Bidang Jenis Kelamin>=“Laki-laki”,“male”,<Bidang Jenis Kelamin>=“Perempuan”,“female”). Nilai “Laki-laki” diganti menjadi “male”, dan nilai “Perempuan” diganti menjadi “female”. Penggunaan 2: CASEWHEN(<kondisi>,<nilai>,<kondisi>,<nilai>…<nilai>). Setara dengan sintaks CASE WHEN pada SQL. Contoh: CASEWHEN(<Bidang Jenis Kelamin>=“Laki-laki”,“male”,“female”). Nilai “Laki-laki” diganti menjadi “male”, dan nilai lainnya diganti menjadi “female”.5. Pemrosesan teks
LEN
Penggunaan: LEN([bidang string]). Mengembalikan panjang string. Contoh: LEN(“test”) mengembalikan 4. LEN(“测试”) mengembalikan 2. Satu karakter Tionghoa dihitung sebagai satu karakter Inggris.LEFT
Penggunaan: LEFT(<bidang measure>,< n >). Mengembalikan string sepanjang n karakter mulai dari karakter pertama di sebelah kiri nilai <bidang>. Contoh: LEFT(Field1,3) mengembalikan “ABC” ketika nilai Field1 adalah “ABCDEF”.RIGHT
Penggunaan: RIGHT(<bidang measure>,< n >). Mengembalikan string sepanjang n karakter dihitung dari sebelah kanan nilai <bidang>. Contoh: RIGHT(Field1,3) mengembalikan “DEF” ketika nilai Field1 adalah “ABCDEF”.MID
Penggunaan: MID(<bidang measure>, < start >, < n >). Mengembalikan string sepanjang n karakter mulai dari karakter ke-start (dihitung dari kiri) pada nilai <bidang>. Contoh: MID(Field1, 3, 3) mengembalikan “CDE” ketika nilai Field1 adalah “ABCDEF”.POS
Penggunaan: POS(<bidang measure>,<substring>). Mengembalikan posisi <substring> di dalam <teks>. Mengembalikan 0 jika tidak ditemukan kecocokan. Contoh: POS(Field1,“DE”) mengembalikan 4 ketika nilai Field1 adalah “ABCDEF”.UPPER
Penggunaan: UPPER(<bidang measure>). Mengonversi nilai <bidang> menjadi huruf besar. Contoh: UPPER(Field1) mengembalikan “ABCDEF” ketika nilai Field1 adalah “AbcdeF”.LOWER
Penggunaan: LOWER(<bidang measure>). Mengonversi nilai <bidang> menjadi huruf kecil. Contoh: LOWER(Field1) mengembalikan “abcdef” ketika nilai Field1 adalah “AbcdeF”.VAL
Penggunaan: VAL(<bidang measure>). Mengonversi nilai <bidang> bertipe teks menjadi tipe numerik. Contoh: VAL(Field1) mengembalikan 123 ketika nilai Field1 adalah “123”.LEFTTRIM
Penggunaan: LEFTTRIM(<bidang measure>). Menghapus spasi di awal nilai <bidang>. Contoh: LEFTTRIM(Field1) mengembalikan “ABC” ketika nilai Field1 adalah ” ABC”.RIGHTTRIM
Penggunaan: RIGHTTRIM(<bidang measure>). Menghapus spasi di akhir nilai <bidang>. Contoh: RIGHTTRIM(Field1) mengembalikan “ABC” ketika nilai Field1 adalah “ABC ”.NUMBERTOSTRING
Penggunaan: NUMBERTOSTRING(<angka>). Mengonversi data numerik menjadi string. Contoh: NUMBERTOSTRING(Field1) mengembalikan “12345” ketika nilai Field1 adalah “12345 ”.SPLITPART
Penggunaan: SPLITPART(<bidang string>, delimiter, posisi substring). Memecah string menjadi N substring berdasarkan delimiter (N sama dengan jumlah delimiter ditambah 1). Posisi substring dihitung dari 1 (kiri ke kanan) atau dari -1 (kanan ke kiri). Contoh: SPLITPART(<Field1>,A,2) mengembalikan “BCD” ketika nilai Field1 adalah “ABCDABHABC”. Menetapkan posisi substring ke -5 juga mengembalikan “BCD”.CONCAT
Penggunaan: CONCAT(<bidang>,<bidang>,…). Menggabungkan beberapa bidang menjadi satu string. Parameter input harus berupa bidang bertipe string. Contoh: CONCAT(<Field1>,<Field2>) mengembalikan “ABCD” ketika nilai Field1 adalah “A” dan nilai Field2 adalah “BCD”.REPLACE
Penggunaan: REPLACE([string], [string yang dicari], [string pengganti]). Mengembalikan string setelah penggantian. Contoh: REPLACE([Field1], [Field2], [Field3]) mengembalikan “a12345efg” ketika Field1 adalah “abcdefg”, Field2 adalah “bcd”, dan Field3 adalah “12345”.6. Pemrosesan waktu
NOW
Penggunaan: NOW(). Mengembalikan waktu saat ini, akurat hingga detik. Contoh: T/ADATEFORMAT
Penggunaan: DATEFORMAT(<Bidang tanggal>,<format waktu>). Memformat tanggal menjadi string. Format untuk kedua fungsi mengikuti konvensi pemformatan tanggal Java. Tipe format yang didukung:- yyyy: Tahun
- MM: Bulan
- dd: Hari
- hh: Format 12 jam (1-12)
- HH: Format 24 jam (0-23)
- mm: Menit
- ss: Detik
DATEADD
Penggunaan:DATEADD(<Bidang Waktu>,<offset>,<granularitas waktu>). Menambahkan <offset> dengan <granularitas waktu> yang ditentukan ke <Bidang Waktu>.
- Nilai granularitas waktu:
- Offset adalah angka tertentu yang ditambahkan atau dikurangi. Nilai positif menambah, dan nilai negatif mengurangi.
DATEADD(Komponen Tanggal,10,"DAY") = 20200911.
Contoh 2:
Jika nilai Komponen Tanggal adalah “20200901”, maka DATEADD(Komponen Tanggal,-1,"DAY") = 20200831.
Format tampilan tanggal default adalah
yyyyMMdd. Untuk mengubah format tampilan, lihat contoh pada fungsi DATEFORMAT.DATEDIFF
Penggunaan: DATEDIFF(<Bidang Waktu 1>,<Bidang Waktu 2>,<granularitas waktu>). Mengembalikan selisih antara Bidang Waktu 1 dan Bidang Waktu 2 pada granularitas waktu yang ditentukan. Opsi granularitas waktu:- YEAR Tahun
- MONTH Bulan
- DAY Hari
- HOUR Jam
- MINUTE Menit
- SECOND Detik
FROMUNIXTIME
Penggunaan: Mengonversi nilai waktu Unix numerik menjadi nilai tanggal. Deklarasi fungsi:- unixtime: Tipe Bigint. Jumlah detik dalam format Unix date-time. Nilai bertipe string, double, atau decimal dikonversi secara implisit menjadi bigint sebelum operasi.
- Nilai kembalian: Tipe Datetime. Mengembalikan NULL jika unixtime adalah NULL.