> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Ikhtisar formula

> Panduan lengkap seluruh formula yang didukung YiDA — mencakup fungsi teks, waktu, array, logis, matematika, himpunan, validasi, pengguna, dan lanjutan — beserta ketersediaannya di Formulir, laporan, dan persiapan data.

Artikel ini mencantumkan seluruh formula yang didukung YiDA saat ini.

## Fungsi teks

| **Nama fungsi**                                  | **Deskripsi**                                                                                                                                       | **Formulir** | **Laporan**       | **Persiapan data** |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ----------------- | ------------------ |
| [ARRAYGET](/id/yida/form/mggsmf)                 | Mengembalikan nilai pada posisi tertentu dalam sebuah dataset.                                                                                      | **✅**        | **❌**             | **❌**              |
| [CONCATENATE](/id/yida/form/mbe6045dlu6ebg33)    | Menggabungkan beberapa string teks menjadi satu string.                                                                                             | **✅**        | **❌**             | **❌**              |
| [LEFT](/id/yida/form/xylna43s4gpoyz9k)           | Mengembalikan sejumlah karakter tertentu dari awal sebuah string teks. Jika teks lebih pendek dari jumlah yang ditentukan, mengembalikan teks asli. | **✅**        | **✅**             | **✅**              |
| [RIGHT](/id/yida/form/ch2gvwhzh2bn9u82)          | Mengembalikan sejumlah karakter tertentu dari akhir sebuah string teks.                                                                             | **✅**        | **✅**             | **✅**              |
| LEN                                              | Mengembalikan jumlah karakter dalam sebuah string teks.                                                                                             | **✅**        | **❌**             | **❌**              |
| [LOWER](/id/yida/form/aire3ioygvfi7vul)          | Mengonversi semua huruf besar dalam string teks menjadi huruf kecil.                                                                                | **✅**        | **✅**             | **✅**              |
| [UPPER](/id/yida/form/fm0og6ccdh0n0q2k)          | Mengonversi semua huruf kecil dalam string teks menjadi huruf besar.                                                                                | **✅**        | **✅**             | **✅**              |
| [MID](/id/yida/form/pghawu8hdwng91in)            | Mengembalikan sejumlah karakter tertentu dari string teks, dimulai dari posisi yang ditentukan.                                                     | **✅**        | **✅**             | **✅**              |
| [PINYINHEADCHAR](/id/yida/form/dvfmdhg8i3ohg0c4) | Mengembalikan huruf pertama Pinyin (huruf besar) untuk setiap karakter Tionghoa dalam sebuah string.                                                | **✅**        | **❌**             | **❌**              |
| [REPLACE](/id/yida/form/gtz0638tp96gbnhf)        | Mengganti sebagian string teks dengan string teks lain berdasarkan jumlah karakter yang ditentukan.                                                 | **✅**        | **✅**             | **✅**              |
| [REPT](/id/yida/form/scd5m0bi74omfpyg)           | Mengulang sebuah teks sebanyak jumlah tertentu.                                                                                                     | **✅**        | **❌**             | **❌**              |
| [RMBFORMAT](/id/yida/form/ff4mghegi9kbsc7m)      | Memformat angka sebagai mata uang RMB.                                                                                                              | **✅**        | **❌**             | **❌**              |
| [SEARCH](/id/yida/form/mhwnrwy04c03o2z4)         | Mengembalikan posisi awal text1 di dalam text2.                                                                                                     | **✅**        | **✅ (mirip POS)** | **✅ (mirip POS)**  |
| [SPLIT](/id/yida/form/yf6hkwf5lzcyin93)          | Memisahkan teks menjadi array menggunakan pemisah yang ditentukan. Gunakan bersama ARRAYGET untuk mengambil karakter pada posisi tertentu.          | **✅**        | **❌**             | **❌**              |
| [TEXT](/id/yida/form/bt0wov266h45hpi4)           | Memformat sebuah nilai sebagai teks.                                                                                                                | **✅**        | **❌**             | **❌**              |
| [TRIM](/id/yida/form/tzmpoqk3e4szn7ar)           | Menghapus spasi di awal dan akhir string, sekaligus mempertahankan spasi tunggal di antara kata.                                                    | **✅**        | **❌**             | **❌**              |
| [UUID](/id/yida/form/xb7gg8vrhik5yg5s)           | Menghasilkan string unik dan menetapkannya ke bidang input satu baris.                                                                              | **✅**        | **❌**             | **❌**              |
| [VALUE](/id/yida/form/awk6sfyg9vcqe1g1)          | Mengonversi teks menjadi angka. Umumnya digunakan ketika data telah dimasukkan dan perlu dihitung ulang.                                            | **✅**        | **✅ (mirip VAL)** | **✅ (mirip VAL)**  |
| [STRINGTONUMBER](/id/yida/form/yrofmw)           | Mengonversi angka bertipe teks menjadi tipe numerik.                                                                                                | **❌**        | **✅**             | **❌**              |
| [LEFTTRIM](/id/yida/form/yrofmw)                 | Menghapus spasi di awal \<Field> dan mengembalikan hasilnya.                                                                                        | **❌**        | **✅**             | **✅**              |
| [RIGHTTRIM](/id/yida/form/yrofmw)                | Menghapus spasi di akhir \<Field> dan mengembalikan hasilnya.                                                                                       | **❌**        | **✅**             | **✅**              |
| [CONCAT](/id/yida/form/yrofmw)                   | Menggabungkan beberapa bidang menjadi satu string.                                                                                                  | **❌**        | **✅**             | **✅**              |
| [SPLITPART](/id/yida/form/yrofmw)                | Memisahkan string berdasarkan pemisah yang ditentukan menjadi N substring (N = jumlah pemisah + 1).                                                 | **❌**        | **✅**             | **✅**              |
| [NUMBERTOSTRING](/id/yida/form/yrofmw)           | Mengonversi data numerik menjadi string.                                                                                                            | **❌**        | **✅**             | **✅**              |

## Fungsi waktu

| **Nama fungsi**                                         | **Deskripsi**                                                                                                                                                                                             | **Formulir** | **Laporan**        | **Persiapan data** |
| ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------ | ------------------ |
| [CASCADEDATEINTERVAL](/id/yida/form/py2n7nkaimvsypoe)   | Menghitung jumlah hari antara tanggal mulai dan tanggal akhir pada pemilih rentang tanggal.                                                                                                               | **✅**        | **❌**              | **❌**              |
| [CASCADEDATEINTERVALV2](/id/yida/form/blbqwhbcsa44h4tb) | Mengembalikan jumlah hari antara dua tanggal dalam sebuah rentang tanggal.                                                                                                                                | **✅**        | **❌**              | **❌**              |
| [DATE](/id/yida/form/pxp74275bikx0xvt)                  | Mengonversi Unix timestamp menjadi object tanggal.                                                                                                                                                        | **✅**        | **❌**              | **❌**              |
| [DATEDELTA](/id/yida/form/tz0uzryeft12rpgw)             | Menambahkan atau mengurangi sejumlah hari tertentu dari tanggal yang diberikan.                                                                                                                           | **✅**        | **❌**              | **❌**              |
| [DAY](/id/yida/form/zblyusnwcvrbregn)                   | Mengembalikan hari dari sebuah tanggal.                                                                                                                                                                   | **✅**        | **❌**              | **❌**              |
| [DAYBEGIN](/id/yida/form/kuda7hpn6ru4mv2g)              | Mengembalikan Unix timestamp dari komponen tanggal yang ditentukan dengan jam, menit, dan detik disetel ke nol.                                                                                           | **✅**        | **❌**              | **❌**              |
| [DAYEND](/id/yida/form/me7p9i2f32erci85)                | Mengembalikan Unix timestamp dari komponen tanggal yang ditentukan dengan jam, menit, dan detik disetel ke nilai maksimum.                                                                                | **✅**        | **❌**              | **❌**              |
| [DAYS](/id/yida/form/acp1c60wvm7v5g5m)                  | Mengembalikan jumlah hari antara dua tanggal.                                                                                                                                                             | **✅**        | **❌**              | **❌**              |
| [DAYS360](/id/yida/form/wa3hg2rs7i40eb90)               | Mengembalikan jumlah hari antara dua tanggal berdasarkan tahun 360 hari.                                                                                                                                  | **✅**        | **❌**              | **❌**              |
| [HOUR](/id/yida/form/ly60vx00lfm5mp2r)                  | Mengembalikan jam dari sebuah tanggal.                                                                                                                                                                    | **✅**        | **❌**              | **❌**              |
| [ISOWEEKNUM](/id/yida/form/bn3zv56eunro0tzd)            | Mengembalikan nomor minggu dari tanggal tertentu dalam tahun tersebut.                                                                                                                                    | **✅**        | **❌**              | **❌**              |
| [MINUTE](/id/yida/form/vgvc4f7myfwpbqa5)                | Mengembalikan menit dari sebuah tanggal.                                                                                                                                                                  | **✅**        | **❌**              | **❌**              |
| [MONTH](/id/yida/form/obwipf12ew36n32a)                 | Mengembalikan bulan dari sebuah tanggal.                                                                                                                                                                  | **✅**        | **❌**              | **❌**              |
| [NETWORKDAYS](/id/yida/form/qfwh5ivncnfg57wt)           | Menghitung jumlah hari kerja antara dua tanggal yang ditentukan.                                                                                                                                          | **✅**        | **❌**              | **❌**              |
| [NOW](/id/yida/form/qn4qo0ydlb2i1iz1)                   | Mengembalikan waktu saat ini. Sama dengan fungsi TODAY.                                                                                                                                                   | **✅**        | **✅**              | **✅**              |
| [SECOND](/id/yida/form/qpvcqng3gb14aww7)                | Mengembalikan detik dari sebuah tanggal.                                                                                                                                                                  | **✅**        | **❌**              | **❌**              |
| [SYSTIME](/id/yida/form/enkgisafnaalmkl0)               | Mengembalikan waktu server saat ini.                                                                                                                                                                      | **✅**        | **❌**              | **❌**              |
| [TIME](/id/yida/form/zl268y77wk9nhwkg)                  | Mengembalikan bilangan desimal dari waktu tertentu.                                                                                                                                                       | **✅**        | **❌**              | **❌**              |
| [TIMESTAMP](/id/yida/form/bmgm5sirz825ncal)             | Mengonversi object tanggal menjadi Unix timestamp. Umumnya digunakan untuk mengonversi object tanggal yang dikembalikan formula tanggal menjadi Unix timestamp agar dapat ditetapkan ke komponen tanggal. | **✅**        | **❌**              | **❌**              |
| [TODAY](/id/yida/form/vzgyog2mozwazdrk)                 | Mengembalikan tanggal hari ini.                                                                                                                                                                           | **✅**        | **❌**              | **❌**              |
| [WEEKNUM](/id/yida/form/kn045dietny22f9k)               | Mengembalikan nomor minggu dari tanggal tertentu.                                                                                                                                                         | **✅**        | **✅ (mirip WEEK)** | **✅ (mirip WEEK)** |
| [WORKDAY](/id/yida/form/cwczglfr7liddmmw)               | Mengembalikan tanggal yang berjarak N hari kerja dari tanggal tertentu. Akhir pekan dikecualikan secara default, dan hari kerja dapat didefinisikan lebih lanjut menggunakan hari libur.                  | **✅**        | **❌**              | **❌**              |
| [YEAR](/id/yida/form/ghx7avaatnrt3gow)                  | Mengembalikan tahun dari sebuah tanggal.                                                                                                                                                                  | **✅**        | **❌**              | **❌**              |
| [YEARBEGIN](/id/yida/form/whagovdhgkyy0n4k)             | Mengembalikan tanggal pertama pada tahun dari tanggal yang diberikan.                                                                                                                                     | **✅**        | **❌**              | **❌**              |
| [YEAREND](/id/yida/form/vyck0fpn0a1kp2ty)               | Mengembalikan tanggal terakhir pada tahun dari tanggal yang diberikan.                                                                                                                                    | **✅**        | **❌**              | **❌**              |
| [DATEFORMAT](/id/yida/form/yrofmw)                      | Memformat sebuah tanggal sebagai string.                                                                                                                                                                  | **❌**        | **✅**              | **✅**              |
| [STRINGTODATE](/id/yida/form/yrofmw)                    | Mengonversi nilai bertipe teks menjadi tanggal.                                                                                                                                                           | **❌**        | **✅**              | **✅**              |
| [DATEDIFF](/id/yida/form/yrofmw)                        | Mengembalikan selisih antara Bidang Waktu 1 dan Bidang Waktu 2 pada granularitas waktu yang ditentukan.                                                                                                   | **❌**        | **✅**              | **✅**              |
| [DATEADD](/id/yida/form/yrofmw)                         | Menambahkan \<offset> pada **\<time granularity>** ke \<Time Field>.                                                                                                                                      | **❌**        | **✅**              | **✅**              |
| [QUARTER](/id/yida/form/yrofmw)                         | Mengembalikan kuartal tahun untuk sebuah tanggal. Tahun fiskal: 1 = tahun fiskal (dimulai April), 0 = tahun kalender.                                                                                     | **❌**        | **✅**              | **✅**              |
| [FROMUNIXTIME](/id/yida/form/yrofmw)                    | Mengonversi Unix timestamp (unixtime) menjadi nilai tanggal.                                                                                                                                              | **❌**        | **✅**              | **✅**              |

## Fungsi array

| **Nama fungsi**                       | **Deskripsi**                          | **Formulir** | **Laporan** | **Persiapan data** |
| ------------------------------------- | -------------------------------------- | ------------ | ----------- | ------------------ |
| [ArrayToString](/id/yida/form/yrofmw) | Mengonversi array menjadi string.      | **❌**        | **✅**       | **✅**              |
| [StringToArray](/id/yida/form/yrofmw) | Mengurai string menjadi array.         | **❌**        | **✅**       | **✅**              |
| [ArrayLength](/id/yida/form/yrofmw)   | Mengembalikan panjang sebuah array.    | **❌**        | **✅**       | **✅**              |
| [ArrayCat](/id/yida/form/yrofmw)      | Mengembalikan gabungan beberapa array. | **❌**        | **✅**       | **✅**              |

## Fungsi logis

| **Nama fungsi**                                 | **Deskripsi**                                                                                                            | **Formulir** | **Laporan** | **Persiapan data** |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------ | ----------- | ------------------ |
| [EQ](/id/yida/form/xdtv56ngunnhppyw)            | Menguji kesamaan.                                                                                                        | **✅**        | **❌**       | **❌**              |
| [NE](/id/yida/form/escqg551suxgr6gq)            | Menguji ketidaksamaan.                                                                                                   | **✅**        | **❌**       | **❌**              |
| [AND](/id/yida/form/uobzicixvh02io31)           | Mengembalikan true bila semua kondisi terpenuhi.                                                                         | **✅**        | **❌**       | **❌**              |
| [OR](/id/yida/form/ig680t7ur2cl0y4d)            | Mengembalikan true bila salah satu kondisi terpenuhi.                                                                    | **✅**        | **❌**       | **❌**              |
| [NOT](/id/yida/form/rzixdcx24zsd1ldx)           | Meniadakan sebuah kondisi.                                                                                               | **✅**        | **❌**       | **❌**              |
| [XOR](/id/yida/form/evp4gkq8kcv4hgga)           | Exclusive OR (evaluasi logis khusus dalam ilmu komputer).                                                                | **✅**        | **❌**       | **❌**              |
| [FALSE](/id/yida/form/lks3ggo5cktvq213)         | Mengembalikan nilai boolean false.                                                                                       | **✅**        | **❌**       | **❌**              |
| [TRUE](/id/yida/form/wn65drd666xdl3b1)          | Mengembalikan nilai boolean true.                                                                                        | **✅**        | **❌**       | **❌**              |
| [GE](/id/yida/form/pkiwut48qyfax6h5)            | Lebih besar dari atau sama dengan.                                                                                       | **✅**        | **❌**       | **❌**              |
| [LE](/id/yida/form/nvnp2kkbb94y8u9e)            | Lebih kecil dari atau sama dengan.                                                                                       | **✅**        | **❌**       | **❌**              |
| [GT](/id/yida/form/rcyqy4mriwgq5nc2)            | Lebih besar dari.                                                                                                        | **✅**        | **❌**       | **❌**              |
| [LT](/id/yida/form/hkv6w6z366q9mg7i)            | Lebih kecil dari.                                                                                                        | **✅**        | **❌**       | **❌**              |
| [IF](/id/yida/form/dzzlham7l7xfr6wo)            | Evaluasi kondisional.                                                                                                    | **✅**        | **❌**       | **❌**              |
| [ISEMPTY](/id/yida/form/gf7g82pavtbc4y5g)       | Memeriksa apakah sebuah bidang kosong.                                                                                   | **✅**        | **❌**       | **❌**              |
| [ISNULL](/id/yida/form/zia9xssidpga5tqx)        | Memeriksa apakah nilai komponen di dalam subformulir kosong, atau apakah nilai bidang multi-pilih kosong.                | **✅**        | **❌**       | **❌**              |
| [HASEMPTYTEXT](/id/yida/form/klvwx6gxfw6g6fgs)  | Memeriksa apakah array nilai yang dikirim komponen di dalam subformulir berisi string kosong.                            | **✅**        | **❌**       | **❌**              |
| [TIMECOMPARE](/id/yida/form/orqe469rrf2yn6gr)   | Membandingkan dua waktu. Mengembalikan true jika Pemilih Tanggal 1 lebih akhir dari Pemilih Tanggal 2, selain itu false. | **✅**        | **❌**       | **❌**              |
| [NUMBERCOMPARE](/id/yida/form/mu292cs9i21m82yh) | Membandingkan dua angka. Mengembalikan true jika Komponen Numerik 1 > Komponen Numerik 2, selain itu false.              | **✅**        | **❌**       | **❌**              |
| [CASEWHEN](/id/yida/form/yrofmw)                | Mirip dengan sintaks CASE WHEN pada SQL.                                                                                 | **❌**        | **✅**       | **✅**              |

## Fungsi matematika

| **Nama fungsi**                              | **Deskripsi**                                                                                                                                | **Formulir** | **Laporan** | **Persiapan data** |
| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ----------- | ------------------ |
| [COUNT](/id/yida/form/ygcgwobc4tewnmxr)      | Mengembalikan total jumlah rekaman yang dikirim untuk formulir tertentu.                                                                     | **✅**        | **✅**       | **❌**              |
| [ADD](/id/yida/form/chzvqqza7lig19gk)        | Menjumlahkan nilai dari beberapa bidang.                                                                                                     | **✅**        | **❌**       | **❌**              |
| [AVERAGE](/id/yida/form/cmntz03rxr7lvg8i)    | Mengembalikan rata-rata aritmetika dari sekumpulan angka.                                                                                    | **✅**        | **✅ (AVG)** | **❌**              |
| [MAX](/id/yida/form/hrmegrov95qkft01)        | Mengembalikan nilai terbesar dalam sekumpulan angka.                                                                                         | **✅**        | **✅**       | **❌**              |
| [MIN](/id/yida/form/tzmz5prxfk1m6ooo)        | Mengembalikan nilai terkecil dalam sekumpulan angka.                                                                                         | **✅**        | **✅**       | **❌**              |
| [ABS](/id/yida/form/nqxuge2x337g5r7u)        | Mengembalikan nilai absolut dari sebuah bilangan negatif.                                                                                    | **✅**        | **❌**       | **❌**              |
| [ROUND](/id/yida/form/gzx4fgcgya1g7dzv)      | Membulatkan bilangan desimal ke jumlah digit yang ditentukan.                                                                                | **✅**        | **❌**       | **✅**              |
| [CEILING](/id/yida/form/pfdukipqlw5rko8s)    | Membulatkan sebuah bilangan ke atas, menjauhi nol, ke kelipatan signifikansi terdekat.                                                       | **✅**        | **❌**       | **❌**              |
| [FLOOR](/id/yida/form/gkzdswxg4g18443y)      | Membulatkan sebuah bilangan ke bawah, menuju nol, ke kelipatan signifikansi terdekat.                                                        | **✅**        | **❌**       | **❌**              |
| [INT](/id/yida/form/qht3on9d40988egd)        | Membulatkan sebuah bilangan ke bawah ke integer terdekat.                                                                                    | **✅**        | **❌**       | **❌**              |
| [LOG](/id/yida/form/bunl3zq1z68guymc)        | Mengembalikan logaritma sebuah bilangan pada basis yang ditentukan.                                                                          | **✅**        | **❌**       | **❌**              |
| [MOD](/id/yida/form/smcm971lepq2nv6o)        | Mengembalikan sisa hasil pembagian dua komponen numerik.                                                                                     | **✅**        | **❌**       | **✅**              |
| [POWER](/id/yida/form/biskll33337npp7d)      | Mengembalikan hasil pemangkatan sebuah komponen numerik.                                                                                     | **✅**        | **❌**       | **❌**              |
| [FIXED](/id/yida/form/an1t8blpsi4aue68)      | Membulatkan sebuah bilangan ke jumlah desimal yang ditentukan, memformatnya dalam notasi desimal, dan mengembalikan hasilnya sebagai string. | **✅**        | **❌**       | **❌**              |
| [SQRT](/id/yida/form/ngysm1kw31gkmbqh)       | Mengembalikan akar kuadrat positif dari nilai sebuah komponen numerik.                                                                       | **✅**        | **❌**       | **❌**              |
| [SUM](/id/yida/form/ab2ef6nzxozn0xfe)        | Menjumlahkan semua bilangan yang diberikan sebagai argumen dan mengembalikan totalnya.                                                       | **✅**        | **✅**       | **❌**              |
| [PRODUCT](/id/yida/form/wu3xhb5ve6v0tvci)    | Mengembalikan hasil kali sebagai nilai floating-point presisi ganda.                                                                         | **✅**        | **❌**       | **❌**              |
| [SUMPRODUCT](/id/yida/form/zrgy7twy6d9ry6ey) | Mengalikan elemen-elemen yang bersesuaian dalam array yang diberikan dan mengembalikan jumlah hasil kalinya.                                 | **✅**        | **❌**       | **❌**              |
| [LARGE](/id/yida/form/rnyume8c4kkywdpg)      | Mengembalikan nilai terbesar ke-k dalam sebuah dataset.                                                                                      | **✅**        | **❌**       | **❌**              |
| [SMALL](/id/yida/form/kruy97m10v8mt3mt)      | Mengembalikan nilai terkecil ke-k dalam sebuah dataset.                                                                                      | **✅**        | **❌**       | **❌**              |
| [COUNTDISTINCT](/id/yida/form/yrofmw)        | Mengembalikan hitungan nilai unik untuk \<Field>. \[Excluded fields] tidak dilibatkan dalam perhitungan silang.                              | **❌**        | **✅**       | **❌**              |
| [ParseDouble](/id/yida/form/yrofmw)          | Mengonversi string atau integer menjadi bilangan floating-point.                                                                             | **❌**        | **❌**       | **✅**              |
| [Parseint](/id/yida/form/yrofmw)             | Mengonversi string atau bilangan floating-point menjadi integer.                                                                             | **❌**        | **❌**       | **✅**              |

## Fungsi himpunan

| **Nama fungsi**                                 | **Deskripsi**                                                        | **Formulir** | **Laporan** | **Persiapan data** |
| ----------------------------------------------- | -------------------------------------------------------------------- | ------------ | ----------- | ------------------ |
| [DIFFERENCESET](/id/yida/form/ewow48u8pg6wde0y) | Mengembalikan selisih dua himpunan.                                  | **✅**        | **❌**       | **❌**              |
| [INTERSECTIONSET](/id/yida/form/ah8b9z)         | Mengembalikan irisan dua himpunan.                                   | **✅**        | **❌**       | **❌**              |
| [SUBSET](/id/yida/form/ad122fe2ufqbog42)        | Memeriksa apakah himpunan kedua adalah subset dari himpunan pertama. | **✅**        | **❌**       | **❌**              |
| [UNIONSET](/id/yida/form/ddsy93l7tdtf3s9s)      | Mengembalikan gabungan dua himpunan.                                 | **✅**        | **❌**       | **❌**              |

## Fungsi validasi

| **Nama fungsi**                         | **Deskripsi**                                                                                    | **Formulir** | **Laporan** | **Persiapan data** |
| --------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------ | ----------- | ------------------ |
| [ARRAYREPEATED](/id/yida/form/fs8ym2)   | Memeriksa apakah sebuah array berisi duplikat.                                                   | **✅**        | **❌**       | **❌**              |
| [EXIST](/id/yida/form/vs0ddo8m5ggofmtb) | Memeriksa apakah sebuah nilai ada di dalam himpunan yang diberikan.                              | **✅**        | **❌**       | **❌**              |
| [EXACT](/id/yida/form/onabfl769bhounig) | Membandingkan dua string dan mengembalikan apakah keduanya persis sama (peka huruf besar/kecil). | **✅**        | **❌**       | **❌**              |

## Fungsi pengguna

| **Nama fungsi**                                   | **Deskripsi**                                                                                                                                                                              | **Formulir** | **Laporan** | **Persiapan data** |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ | ----------- | ------------------ |
| [USER](/id/yida/form/vwncwe)                      | Mode tanpa argumen: User() mengembalikan Pengguna yang sedang masuk. Dengan argumen: User(level) mengembalikan manajer dari Pengguna yang sedang masuk; level menunjukkan tingkat manajer. | **✅**        | **❌**       | **❌**              |
| [USERFIELD](/id/yida/form/oyuexdmpaxiys2tm)       | Mengisi otomatis informasi dasar berdasarkan bidang pencarian Pengguna.                                                                                                                    | **✅**        | **❌**       | **❌**              |
| [DIRECTOR](/id/yida/form/pvw37ge84kxg9x28)        | Mengembalikan nama manajer dari Pengguna yang sedang masuk.                                                                                                                                | **✅**        | **❌**       | **❌**              |
| [EMPLOYEE](/id/yida/form/sxc8gv9dkhmt8zro)        | Mengembalikan array object informasi Pengguna yang bersesuaian (nilai dasar dari komponen Pengguna).                                                                                       | **✅**        | **❌**       | **❌**              |
| [GETUSERNAME](/id/yida/form/zl5s2mdi2ue214n4)     | Mengembalikan nama Pengguna yang sedang masuk.                                                                                                                                             | **✅**        | **❌**       | **❌**              |
| [LOGINUSER](/id/yida/form/iak2o5xcbksb13wz)       | Pengguna yang sedang masuk.                                                                                                                                                                | **✅**        | **❌**       | **❌**              |
| [LOGINUSERWORKNO](/id/yida/form/sprth45e4nh19yhw) | Mengembalikan ID Karyawan unik (employee UserID) dari Pengguna yang sedang masuk.                                                                                                          | **✅**        | **❌**       | **❌**              |
| [DEPTNAME](/id/yida/form/igrvxuztr0syw9sn)        | Mengembalikan informasi departemen dari Pengguna yang ditentukan berdasarkan userId.                                                                                                       | **✅**        | **❌**       | **❌**              |

## Fungsi formula lanjutan

| **Nama fungsi**                | **Deskripsi**                                                                   | **Formulir** | **Laporan** | **Persiapan data** |
| ------------------------------ | ------------------------------------------------------------------------------- | ------------ | ----------- | ------------------ |
| [DELETE](/id/yida/form/fqtnhh) | Menghapus data dari formulir target.                                            | **✅**        | **❌**       | **❌**              |
| [INSERT](/id/yida/form/yhdw79) | Menyisipkan data dari formulir saat ini ke formulir target.                     | **✅**        | **❌**       | **❌**              |
| [UPDATE](/id/yida/form/svrgxm) | Memperbarui rekaman pada formulir target yang memenuhi kondisi yang ditentukan. | **✅**        | **❌**       | **❌**              |
| [UPSERT](/id/yida/form/al3gkc) | Menyisipkan atau memperbarui data pada formulir target.                         | **✅**        | **❌**       | **❌**              |

## FAQ tentang formula

**1. Pada kondisi EQ, komponen yang digunakan untuk perbandingan pada formulir target harus menjadi argumen pertama EQ.**

EQ digunakan sebagai kondisi perbandingan. Tempatkan komponen yang digunakan untuk perbandingan pada formulir target sebagai argumen pertama EQ.

**2. Pada kondisi EQ, komponen yang digunakan untuk perbandingan pada formulir target tidak boleh dibungkus dalam formula lain.**

**Catatan**: EQ harus diikuti oleh komponen yang dibandingkan, bukan diikuti langsung oleh formula. Jika perlu, tambahkan formula setelah komponen yang digunakan untuk perbandingan.

**3. Koma, tanda kurung, dan tanda baca lainnya harus dalam format bahasa Inggris.**

**4. Hanya komponen yang didukung yang dapat digunakan sebagai kondisi perbandingan.**

Komponen yang dapat digunakan sebagai kondisi evaluasi: Teks satu baris, Teks multi-baris, Select, Dropdown select, dan Date. Komponen lain belum didukung saat ini.

**5. Nilai tidak dapat ditetapkan ke komponen yang tidak didukung.**

Komponen yang mendukung penetapan nilai: **Hanya komponen dengan tipe yang sama yang dapat saling menetapkan nilai.** Komponen yang didukung meliputi Teks satu baris, Teks multi-baris, Numerik, Select, Dropdown select, Kotak centang, Dropdown checkbox, Cascading select, Date, Date range, Image upload, Lampiran, User, dan Address. Komponen lain belum didukung saat ini.

**6. Komponen dengan tipe berbeda tidak dapat saling menetapkan nilai.**

**Catatan: Hanya komponen dengan tipe yang sama yang dapat saling menetapkan nilai. Sebagai contoh, komponen Numerik tidak dapat menetapkan nilai ke komponen Image upload.** Lihat tabel di bawah untuk detailnya:

| **Komponen/formula sumber** | **Komponen yang dapat ditetapkan**                 |
| --------------------------- | -------------------------------------------------- |
| Teks satu baris             | Teks satu baris                                    |
| Teks multi-baris            | Teks multi-baris                                   |
| Numerik                     | Teks satu baris<br />Teks multi-baris<br />Numerik |
| Select                      | Select<br />Dropdown select                        |
| Dropdown select             | Select<br />Dropdown select                        |
| Kotak centang               | Kotak centang                                      |
| Dropdown checkbox           | Dropdown checkbox                                  |
| Cascading select            | Cascading select                                   |
| Date                        | Date                                               |
| Date range                  | Date range                                         |
| Image upload                | Image upload                                       |
| Lampiran                    | Lampiran                                           |
| User                        | User                                               |
| Address                     | Address                                            |
| Fungsi teks                 | Teks satu baris<br />Teks multi-baris              |

**7. Gunakan AND untuk logika (and) pada kondisi perbandingan. Logika (or) belum didukung saat ini.**

**8. Formula asosiasi bisnis belum mendukung perbandingan string pada kondisi. Gunakan formula IF untuk mengevaluasi terlebih dahulu, lalu terapkan formula asosiasi bisnis.**

**9. Mengapa aturan bisnis yang menggunakan kondisi IF tidak berjalan?**

Saat mengonfigurasi formula asosiasi bisnis, jika Anda menggunakan formula IF untuk evaluasi awal, kondisi IF harus mereferensikan bidang tabel utama.

**Catatan: IF harus ditempatkan sebagai evaluasi terluar; jika tidak, tidak akan berjalan.**

**10. "Kesalahan konfigurasi aplikasi, harap hubungi Admin"**

Setelah mengonfigurasi formula asosiasi bisnis, jika kesalahan "Kesalahan konfigurasi aplikasi, harap hubungi Admin" muncul saat mengirim data, artinya kolom target yang digunakan untuk perbandingan dan pengisian nilai belum ditambahkan sebagai bidang pencarian. Tambahkan bidang target atau perbandingan ke bidang pencarian pada halaman manajemen data formulir target.

**10.1 Langkah-langkah:**

**10.1.1 Temukan pengaturan kondisi kueri pada halaman manajemen data formulir target.**

**10.1.2 Periksa apakah bidang formulir target sudah termasuk dalam pencarian. Jika belum, tambahkan melalui pengaturan bidang pencarian yang berpartisipasi.**

**10.1.3 Pada halaman pengaturan, tambahkan kolom target sebagai bidang pencarian di bawah pencarian samar, lalu klik Eksekusi sekarang.**

**11. Kesalahan konfigurasi kondisi utama**

Kesalahan ini terjadi ketika sub-kondisi ditempatkan dengan salah. Cocokkan terlebih dahulu pada bidang dari tabel utama.

**12. Kesalahan konfigurasi sub-kondisi. Hanya satu rekaman detail yang dapat diperbarui dalam satu waktu. Jika data yang dicocokkan pada formulir target adalah data tabel utama, tempatkan pada kondisi utama dan hubungkan dengan AND.**

**13. Ketika kolom target pada kondisi pencocokan adalah data subformulir, kesalahan "Kolom target tidak ada dalam detail yang diperbarui" muncul setelah mengonfigurasi formula. Ubah kolom target menjadi bidang tabel utama.**

**14. Ketidakcocokan format parameter**

Saat mengonfigurasi formula aturan asosiasi bisnis, muncul prompt "Ketidakcocokan format parameter". Periksa apakah judul komponen telah diubah melalui kode sehingga berisi jeda baris. Jika judul komponen berisi jeda baris, bidang akan ditampilkan dalam beberapa baris saat mengonfigurasi formula dan akan memicu kesalahan.

**15. Isu terkait urutan eksekusi aturan asosiasi bisnis dan integrasi & otomatisasi**

**15.1 Bagaimana urutan eksekusi ketika aturan asosiasi bisnis dan integrasi & otomatisasi digunakan bersama?**

**Saat ini, aturan asosiasi bisnis dan integrasi & otomatisasi mengikuti logika eksekusi yang independen. Masing-masing berjalan dalam urutan eksekusinya sendiri, dan urutan keseluruhan tidak dapat dikontrol.**

Jika digabungkan, formulir target yang sama dapat diperbarui oleh dua sistem penjadwalan tugas dalam urutan yang tidak terduga, sehingga menghasilkan hasil bisnis yang salah — terutama untuk proses kompleks seperti manajemen inventaris dengan penambahan dan pengurangan.

Kami merekomendasikan penggunaan integrasi & otomatisasi YiDA untuk sinkronisasi antar proses bisnis.

**15.2 Bagaimana urutan eksekusi ketika sebuah node integrasi & otomatisasi berisi beberapa aturan asosiasi bisnis?**

Aturan asosiasi bisnis mendukung beberapa entri aturan, tetapi karena keterbatasan produk, **urutan eksekusi antar aturan tidak dapat dipilih.**

Untuk mengontrol urutan eksekusi, gunakan Buat, Perbarui, Hapus, dan \[node data] lainnya pada integrasi & otomatisasi. Node ini mendukung pengurutan dan memungkinkan Anda melihat rekaman eksekusi di \[Log jalan].

Rujuk tangkapan layar di bawah untuk pengaturan detailnya.

**16. Apa perbedaan antara nilai pra-edit dan nilai pasca-edit dari sebuah formulir?**

**Ketika Anda mengonfigurasi aturan asosiasi bisnis untuk formulir dalam status edit, baik nilai pra-edit maupun nilai pasca-edit tersedia.** Perbedaannya adalah sebagai berikut:

Jika nilai bidang formulir A adalah \[Semangka] dan Anda mengubahnya menjadi \[Persik], nilai pra-edit adalah \[Semangka] dan nilai pasca-edit adalah \[Persik]. Skenario ini umumnya digunakan ketika Anda perlu memodifikasi nilai formulir target asli setelah pengeditan.

**17. Apa batasan penggunaan untuk fungsi lanjutan?**

Fungsi aturan bisnis YiDA saat ini mendukung batasan penggunaan berikut:

| Fungsi inti                    | Tujuan                                                                          | Batasan penggunaan                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------------------ | ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [INSERT](/id/yida/form/yhdw79) | Menyisipkan data dari formulir saat ini ke formulir target.                     | 1. Ketika impor massal memicu aturan asosiasi bisnis yang menyisipkan ke formulir target (tabel utama), tidak ada batas rekaman per bidang (kami merekomendasikan mengimpor tidak lebih dari 1.000 rekaman dalam satu waktu, karena impor yang lebih besar mungkin berjalan lambat). Impor massal memiliki batas ukuran file 20 MB.<br />2. Subformulir menyisipkan ke tabel utama.<br /> |
| [UPDATE](/id/yida/form/svrgxm) | Memperbarui rekaman pada formulir target yang memenuhi kondisi yang ditentukan. | 1. Ketika target adalah bidang tabel utama, maksimal 100 rekaman dapat diperbarui per operasi. Melebihi batas ini menyebabkan kegagalan pengiriman.<br />2. Target adalah data subformulir.<br />                                                                                                                                                                                         |
| [UPSERT](/id/yida/form/al3gkc) | Menyisipkan atau memperbarui data pada formulir target.                         | 1. Ketika target adalah data formulir utama, maksimal 100 rekaman dapat diperbarui per operasi. Melebihi batas ini menyebabkan kegagalan pengiriman.<br />2. Target adalah data subformulir.<br />                                                                                                                                                                                        |
| [DELETE](/id/yida/form/fqtnhh) | Menghapus data dari formulir target.                                            | 1. Ketika target adalah data formulir utama, maksimal 100 rekaman dapat dihapus per operasi.<br />2. Target adalah data subformulir.<br />                                                                                                                                                                                                                                                |

**18. Mengapa aturan bisnis tidak berjalan setelah bidang baru ditambahkan ke formulir?**

Ketika bidang baru ditambahkan ke formulir target, rekaman historis yang ada belum berisi bidang baru tersebut, sehingga tidak dapat diperbarui. Edit dan simpan setiap rekaman historis agar bidang baru dimuat, lalu dapat diperbarui secara normal. Impor massal atau pembaruan juga dapat menyelesaikan masalah ini.

**19. Mengapa formula gagal berjalan ketika komponen Date digunakan sebagai kondisi evaluasi?**

Menggunakan komponen Date sebagai kondisi evaluasi tidak direkomendasikan. Nilai saat ini yang dikembalikan berupa Unix timestamp, yang tidak akurat untuk digunakan sebagai kondisi evaluasi.

**Anda dapat menetapkan nilai komponen Date ke bidang Teks satu baris dan menggunakan Teks satu baris tersebut sebagai kondisi evaluasi.**

**20. Kapan aturan bisnis dipicu?**

Data yang dibuat oleh integrasi & otomatisasi saat ini tidak memicu aturan bisnis.
