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.
WEEK
Penggunaan: WEEK([tanggal], [hari mulai (opsional)]). Menghitung minggu ke berapa dalam setahun untuk tanggal yang diberikan. Jika hari mulai tidak ditentukan, Senin digunakan sebagai hari pertama minggu secara default. Nilai hari mulai 1-7 menunjukkan Senin hingga Minggu sebagai hari pertama minggu. Contoh: WEEK([tanggal],) mengembalikan “20202” ketika nilai bidang adalah “2020-01-08”. Hari mulai dapat dihilangkan dan default-nya kosong.QUARTER
Penggunaan: QUARTER([tanggal], [tanda tahun fiskal (opsional)]). Menghitung kuartal dalam setahun untuk tanggal yang diberikan. Tetapkan tanda tahun fiskal ke 1 untuk menggunakan tahun fiskal (dimulai dari April) atau 0 untuk menggunakan tahun kalender. Contoh: QUARTER([Field1], 0) mengembalikan “1” ketika nilai Field1 adalah “2020-02-02”.7. Statistik dasar
ROUND
Penggunaan: ROUND(<bidang>,<presisi>). Membulatkan bidang ke jumlah tempat desimal yang ditentukan. Contoh: ROUND(<Field1>,<presisi>) mengembalikan “12,33” ketika nilai Field1 adalah “12,33333” dan presisinya adalah 2.MOD
Penggunaan: MOD(<bidang>,<bidang>). Melakukan operasi modulo dan mengembalikan sisa. Catatan: Untuk mendapatkan hasil bagi dari pembagian, gunakan operator aritmetika /. Misalnya, 6/4 mengembalikan hasil bagi 1 dengan sisa 2. Contoh: MOD(<Field1>,<Field2>) mengembalikan “2” ketika nilai Field1 adalah “6” dan nilai Field2 adalah “4”.ParseDouble
Penggunaan: ParseDouble(<bidang>). Mengonversi string atau integer menjadi angka floating-point. Contoh: ParseDouble(<bidang>) mengembalikan 3.0 ketika nilai bidang adalah 3 atau “3”.ParseInt
Penggunaan: ParseInt(<bidang>). Mengonversi string atau angka floating-point menjadi integer. Contoh: ParseInt(<bidang>) mengembalikan 3 ketika nilai bidang adalah 3.2 atau “3.2”.8. Array
ArrayToString
Penggunaan: ArrayToString(<bidang array>,[delimiter (opsional)]). Mengonversi array menjadi string. Contoh: ArrayToString(<Field1>,<Field2>) mengembalikan “Divisi Produk-Divisi Teknologi-Divisi Bisnis” ketika nilai Field1 adalah “[Divisi Produk, Divisi Teknologi, Divisi Bisnis]” dan nilai Field2 adalah ”-”. Jika Field2 kosong, hasilnya adalah “Divisi Produk,Divisi Teknologi,Divisi Bisnis”.StringToArray
Penggunaan: StringToArray(<bidang string>,[delimiter (opsional)]). Mengurai string menjadi array. Contoh: StringToArray(<Field1>,<Field2>) mengembalikan “[Divisi Produk, Divisi Teknologi, Divisi Bisnis]” ketika nilai Field1 adalah “Divisi Produk-Divisi Teknologi-Divisi Bisnis” dan nilai Field2 adalah ”-”.
ArrayLength
Penggunaan: ArrayLength(<bidang array>). Mengembalikan panjang array. Contoh: ArrayLength(<Pilih Banyak atau bidang array lainnya>) mengembalikan “3” ketika nilai bidang adalah “Departemen” dengan opsi “Divisi Produk, Divisi Teknologi, Divisi Bisnis”.
ArrayCat
Penggunaan: ArrayCat(<bidang array 1>,<bidang array 2>,…). Menggabungkan beberapa array. Contoh: ArrayCat(<Pilih Banyak atau bidang array lainnya 1>,<Pilih Banyak atau bidang array lainnya 2>,…) mengembalikan “Divisi Produk, Divisi Teknologi, Divisi Bisnis, Staf Produk, Staf Teknologi, Staf Bisnis” ketika nilai Field1 adalah “Divisi Produk, Divisi Teknologi, Divisi Bisnis” dan nilai Field2 adalah “Staf Produk, Staf Teknologi, Staf Bisnis”.
