> ## 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.

# Formula Overview

> This article details all text functions supported by YiDA, including ARRAYGET, CONCATENATE, LEFT, RIGHT, and LEN, and describes their availability in forms, reports, and data preparation.

The following tables organize these formulas by category, such as text, time, array, logical, math, and user functions, so you can quickly find the right one for forms, reports, or data preparation.

## Text Functions

| **Function name**                             | **Description**                                                                                                                                                            | **Form** | **Report**             | **Data preparation**   |
| --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------- | ---------------------- |
| [ARRAYGET](/yida/form/mggsmf)                 | Returns the value at the specified position in a dataset.                                                                                                                  | **✅**    | **❌**                  | **❌**                  |
| [CONCATENATE](/yida/form/mbe6045dlu6ebg33)    | Joins multiple text strings into a single text string.                                                                                                                     | **✅**    | **❌**                  | **❌**                  |
| [LEFT](/yida/form/xylna43s4gpoyz9k)           | Returns the specified number of characters starting from the first character of a text string. If the text is shorter than the specified count, returns the original text. | **✅**    | **✅**                  | **✅**                  |
| [RIGHT](/yida/form/ch2gvwhzh2bn9u82)          | Returns the specified number of characters starting from the last character of a text string.                                                                              | **✅**    | **✅**                  | **✅**                  |
| LEN                                           | Returns the number of characters in a text string.                                                                                                                         | **✅**    | **❌**                  | **❌**                  |
| [LOWER](/yida/form/aire3ioygvfi7vul)          | Converts all uppercase letters in a text string to lowercase.                                                                                                              | **✅**    | **✅**                  | **✅**                  |
| [UPPER](/yida/form/fm0og6ccdh0n0q2k)          | Converts all lowercase letters in a text string to uppercase.                                                                                                              | **✅**    | **✅**                  | **✅**                  |
| [MID](/yida/form/pghawu8hdwng91in)            | Returns the specified number of characters from a text string, starting at the specified position.                                                                         | **✅**    | **✅**                  | **✅**                  |
| [PINYINHEADCHAR](/yida/form/dvfmdhg8i3ohg0c4) | Returns the first letter of the Pinyin for each Chinese character in a string, in uppercase.                                                                               | **✅**    | **❌**                  | **❌**                  |
| [REPLACE](/yida/form/gtz0638tp96gbnhf)        | Replaces part of a text string with a different text string, based on the specified number of characters.                                                                  | **✅**    | **✅**                  | **✅**                  |
| [REPT](/yida/form/scd5m0bi74omfpyg)           | Repeats a text a specified number of times.                                                                                                                                | **✅**    | **❌**                  | **❌**                  |
| [RMBFORMAT](/yida/form/ff4mghegi9kbsc7m)      | Formats a number as RMB currency.                                                                                                                                          | **✅**    | **❌**                  | **❌**                  |
| [SEARCH](/yida/form/mhwnrwy04c03o2z4)         | Returns the starting position of text1 within text2.                                                                                                                       | **✅**    | **✅ (similar to POS)** | **✅ (similar to POS)** |
| [SPLIT](/yida/form/yf6hkwf5lzcyin93)          | Splits text into an array using the specified delimiter. Use with ARRAYGET to retrieve a character at a specific position.                                                 | **✅**    | **❌**                  | **❌**                  |
| [TEXT](/yida/form/bt0wov266h45hpi4)           | Formats a value as text.                                                                                                                                                   | **✅**    | **❌**                  | **❌**                  |
| [TRIM](/yida/form/tzmpoqk3e4szn7ar)           | Removes leading and trailing spaces from a string, while preserving single spaces between words.                                                                           | **✅**    | **❌**                  | **❌**                  |
| [UUID](/yida/form/xb7gg8vrhik5yg5s)           | Generates a unique string and assigns it to a single-line input field.                                                                                                     | **✅**    | **❌**                  | **❌**                  |
| [VALUE](/yida/form/awk6sfyg9vcqe1g1)          | Converts text into a number. Typically used when data has already been entered and needs to be recalculated.                                                               | **✅**    | **✅ (similar to VAL)** | **✅ (similar to VAL)** |
| [STRINGTONUMBER](/yida/form/yrofmw)           | Converts a text-type number into a Numerical type.                                                                                                                         | **❌**    | **✅**                  | **❌**                  |
| [LEFTTRIM](/yida/form/yrofmw)                 | Removes leading spaces from \<Field> and returns the result.                                                                                                               | **❌**    | **✅**                  | **✅**                  |
| [RIGHTTRIM](/yida/form/yrofmw)                | Removes trailing spaces from \<Field> and returns the result.                                                                                                              | **❌**    | **✅**                  | **✅**                  |
| [CONCAT](/yida/form/yrofmw)                   | Concatenates multiple fields into a single string.                                                                                                                         | **❌**    | **✅**                  | **✅**                  |
| [SPLITPART](/yida/form/yrofmw)                | Splits a string by the specified delimiter into N substrings (N equals the number of delimiters + 1).                                                                      | **❌**    | **✅**                  | **✅**                  |
| [NUMBERTOSTRING](/yida/form/yrofmw)           | Converts Numerical data into a string.                                                                                                                                     | **❌**    | **✅**                  | **✅**                  |

## Time Functions

| **Function name**                                    | **Description**                                                                                                                                                             | **Form** | **Report**              | **Data preparation**    |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------- | ----------------------- |
| [CASCADEDATEINTERVAL](/yida/form/py2n7nkaimvsypoe)   | Calculates the number of days between the start and end dates in a date range picker.                                                                                       | **✅**    | **❌**                   | **❌**                   |
| [CASCADEDATEINTERVALV2](/yida/form/blbqwhbcsa44h4tb) | Returns the number of days between the two dates in a date range.                                                                                                           | **✅**    | **❌**                   | **❌**                   |
| [DATE](/yida/form/pxp74275bikx0xvt)                  | Converts a Unix timestamp into a Date object.                                                                                                                               | **✅**    | **❌**                   | **❌**                   |
| [DATEDELTA](/yida/form/tz0uzryeft12rpgw)             | Adds or subtracts a specified number of days from a given date.                                                                                                             | **✅**    | **❌**                   | **❌**                   |
| [DAY](/yida/form/zblyusnwcvrbregn)                   | Returns the day of a date.                                                                                                                                                  | **✅**    | **❌**                   | **❌**                   |
| [DAYBEGIN](/yida/form/kuda7hpn6ru4mv2g)              | Returns the Unix timestamp of the specified date component with hours, minutes, and seconds set to zero.                                                                    | **✅**    | **❌**                   | **❌**                   |
| [DAYEND](/yida/form/me7p9i2f32erci85)                | Returns the Unix timestamp of the specified date component with hours, minutes, and seconds set to the maximum.                                                             | **✅**    | **❌**                   | **❌**                   |
| [DAYS](/yida/form/acp1c60wvm7v5g5m)                  | Returns the number of days between two dates.                                                                                                                               | **✅**    | **❌**                   | **❌**                   |
| [DAYS360](/yida/form/wa3hg2rs7i40eb90)               | Returns the number of days between two dates based on a 360-day year.                                                                                                       | **✅**    | **❌**                   | **❌**                   |
| [HOUR](/yida/form/ly60vx00lfm5mp2r)                  | Returns the hour of a date.                                                                                                                                                 | **✅**    | **❌**                   | **❌**                   |
| [ISOWEEKNUM](/yida/form/bn3zv56eunro0tzd)            | Returns the week number of a specified date within its year.                                                                                                                | **✅**    | **❌**                   | **❌**                   |
| [MINUTE](/yida/form/vgvc4f7myfwpbqa5)                | Returns the minute of a date.                                                                                                                                               | **✅**    | **❌**                   | **❌**                   |
| [MONTH](/yida/form/obwipf12ew36n32a)                 | Returns the month of a date.                                                                                                                                                | **✅**    | **❌**                   | **❌**                   |
| [NETWORKDAYS](/yida/form/qfwh5ivncnfg57wt)           | Calculates the number of workdays between two specified dates.                                                                                                              | **✅**    | **❌**                   | **❌**                   |
| [NOW](/yida/form/qn4qo0ydlb2i1iz1)                   | Returns the current time. Same as the TODAY function.                                                                                                                       | **✅**    | **✅**                   | **✅**                   |
| [SECOND](/yida/form/qpvcqng3gb14aww7)                | Returns the second of a date.                                                                                                                                               | **✅**    | **❌**                   | **❌**                   |
| [SYSTIME](/yida/form/enkgisafnaalmkl0)               | Returns the current server time.                                                                                                                                            | **✅**    | **❌**                   | **❌**                   |
| [TIME](/yida/form/zl268y77wk9nhwkg)                  | Returns the decimal number of a specific time.                                                                                                                              | **✅**    | **❌**                   | **❌**                   |
| [TIMESTAMP](/yida/form/bmgm5sirz825ncal)             | Converts a Date object into a Unix timestamp. Typically used to convert the Date object returned by a date formula into a Unix timestamp for assigning to a Date component. | **✅**    | **❌**                   | **❌**                   |
| [TODAY](/yida/form/vzgyog2mozwazdrk)                 | Returns today's date.                                                                                                                                                       | **✅**    | **❌**                   | **❌**                   |
| [WEEKNUM](/yida/form/kn045dietny22f9k)               | Returns the week number of a specific date.                                                                                                                                 | **✅**    | **✅ (similar to WEEK)** | **✅ (similar to WEEK)** |
| [WORKDAY](/yida/form/cwczglfr7liddmmw)               | Returns the date that is N workdays away from a specific date. Weekends are excluded by default, and workdays can be further defined using holidays.                        | **✅**    | **❌**                   | **❌**                   |
| [YEAR](/yida/form/ghx7avaatnrt3gow)                  | Returns the year of a date.                                                                                                                                                 | **✅**    | **❌**                   | **❌**                   |
| [YEARBEGIN](/yida/form/whagovdhgkyy0n4k)             | Returns the first date of the year for a given date.                                                                                                                        | **✅**    | **❌**                   | **❌**                   |
| [YEAREND](/yida/form/vyck0fpn0a1kp2ty)               | Returns the last date of the year for a given date.                                                                                                                         | **✅**    | **❌**                   | **❌**                   |
| [DATEFORMAT](/yida/form/yrofmw)                      | Formats a date as a string.                                                                                                                                                 | **❌**    | **✅**                   | **✅**                   |
| [STRINGTODATE](/yida/form/yrofmw)                    | Converts a text-type value into a date.                                                                                                                                     | **❌**    | **✅**                   | **✅**                   |
| [DATEDIFF](/yida/form/yrofmw)                        | Returns the difference between Time Field 1 and Time Field 2 at the specified time granularity.                                                                             | **❌**    | **✅**                   | **✅**                   |
| [DATEADD](/yida/form/yrofmw)                         | Adds \<offset> at **\<time granularity>** to \<Time Field>.                                                                                                                 | **❌**    | **✅**                   | **✅**                   |
| [QUARTER](/yida/form/yrofmw)                         | Returns the quarter of the year for a date. Fiscal year: 1 = fiscal year (starting April), 0 = calendar year.                                                               | **❌**    | **✅**                   | **✅**                   |
| [FROMUNIXTIME](/yida/form/yrofmw)                    | Converts a Unix timestamp (unixtime) into a date value.                                                                                                                     | **❌**    | **✅**                   | **✅**                   |

## Array Functions

| **Function name**                  | **Description**                               | **Form** | **Report** | **Data preparation** |
| ---------------------------------- | --------------------------------------------- | -------- | ---------- | -------------------- |
| Ar[rayToString](/yida/form/yrofmw) | Converts an array into a string.              | **❌**    | **✅**      | **✅**                |
| [StringToArray](/yida/form/yrofmw) | Parses a string into an array.                | **❌**    | **✅**      | **✅**                |
| [ArrayLength](/yida/form/yrofmw)   | Returns the length of an array.               | **❌**    | **✅**      | **✅**                |
| [ArrayCat\|](/yida/form/yrofmw)    | Returns the concatenation of multiple arrays. | **❌**    | **✅**      | **✅**                |

## Logical Functions

| **Function name**                            | **Description**                                                                                                           | **Form** | **Report** | **Data preparation** |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -------- | ---------- | -------------------- |
| [EQ](/yida/form/xdtv56ngunnhppyw)            | Tests for equality.                                                                                                       | **✅**    | **❌**      | **❌**                |
| [NE](/yida/form/escqg551suxgr6gq)            | Tests for inequality.                                                                                                     | **✅**    | **❌**      | **❌**                |
| [AND](/yida/form/uobzicixvh02io31)           | Returns true when all conditions are met.                                                                                 | **✅**    | **❌**      | **❌**                |
| [OR](/yida/form/ig680t7ur2cl0y4d)            | Returns true when any one of the conditions is met.                                                                       | **✅**    | **❌**      | **❌**                |
| [NOT](/yida/form/rzixdcx24zsd1ldx)           | Negates a condition.                                                                                                      | **✅**    | **❌**      | **❌**                |
| [XOR](/yida/form/evp4gkq8kcv4hgga)           | Exclusive OR (a specific logical evaluation in computer science).                                                         | **✅**    | **❌**      | **❌**                |
| [FALSE](/yida/form/lks3ggo5cktvq213)         | Returns the boolean value false.                                                                                          | **✅**    | **❌**      | **❌**                |
| [TRUE](/yida/form/wn65drd666xdl3b1)          | Returns the boolean value true.                                                                                           | **✅**    | **❌**      | **❌**                |
| [GE](/yida/form/pkiwut48qyfax6h5)            | Greater than or equal to.                                                                                                 | **✅**    | **❌**      | **❌**                |
| [LE](/yida/form/nvnp2kkbb94y8u9e)            | Less than or equal to.                                                                                                    | **✅**    | **❌**      | **❌**                |
| [GT](/yida/form/rcyqy4mriwgq5nc2)            | Greater than.                                                                                                             | **✅**    | **❌**      | **❌**                |
| [LT](/yida/form/hkv6w6z366q9mg7i)            | Less than.                                                                                                                | **✅**    | **❌**      | **❌**                |
| [IF](/yida/form/dzzlham7l7xfr6wo)            | Conditional evaluation.                                                                                                   | **✅**    | **❌**      | **❌**                |
| [ISEMPTY](/yida/form/gf7g82pavtbc4y5g)       | Checks whether a field is empty.                                                                                          | **✅**    | **❌**      | **❌**                |
| [ISNULL](/yida/form/zia9xssidpga5tqx)        | Checks whether the value of a component within a subform is empty, or whether the value of a multi-select field is empty. | **✅**    | **❌**      | **❌**                |
| [HASEMPTYTEXT](/yida/form/klvwx6gxfw6g6fgs)  | Checks whether the array value submitted by a component within a subform contains an empty string.                        | **✅**    | **❌**      | **❌**                |
| [TIMECOMPARE](/yida/form/orqe469rrf2yn6gr)   | Compares two times. Returns true if Date Picker 1 is later than Date Picker 2, otherwise false.                           | **✅**    | **❌**      | **❌**                |
| [NUMBERCOMPARE](/yida/form/mu292cs9i21m82yh) | Compares two numbers. Returns true if Numerical Component 1 > Numerical Component 2, otherwise false.                     | **✅**    | **❌**      | **❌**                |
| [CASEWHEN](/yida/form/yrofmw)                | Similar to the CASE WHEN syntax in SQL.                                                                                   | **❌**    | **✅**      | **✅**                |

## Math Functions

| **Function name**                         | **Description**                                                                                                                | **Form** | **Report**  | **Data preparation** |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | -------- | ----------- | -------------------- |
| [COUNT](/yida/form/ygcgwobc4tewnmxr)      | Returns the total number of records submitted for a specified form.                                                            | **✅**    | **✅**       | **❌**                |
| [ADD](/yida/form/chzvqqza7lig19gk)        | Sums the values of multiple fields.                                                                                            | **✅**    | **❌**       | **❌**                |
| [AVERAGE](/yida/form/cmntz03rxr7lvg8i)    | Returns the arithmetic mean of a set of numbers.                                                                               | **✅**    | **✅ (AVG)** | **❌**                |
| [MAX](/yida/form/hrmegrov95qkft01)        | Returns the largest value in a set of numbers.                                                                                 | **✅**    | **✅**       | **❌**                |
| [MIN](/yida/form/tzmz5prxfk1m6ooo)        | Returns the smallest value in a set of numbers.                                                                                | **✅**    | **✅**       | **❌**                |
| [ABS](/yida/form/nqxuge2x337g5r7u)        | Returns the absolute value of a negative number.                                                                               | **✅**    | **❌**       | **❌**                |
| [ROUND](/yida/form/gzx4fgcgya1g7dzv)      | Rounds a decimal number to the specified number of digits.                                                                     | **✅**    | **❌**       | **✅**                |
| [CEILING](/yida/form/pfdukipqlw5rko8s)    | Rounds a number up, away from zero, to the nearest multiple of significance.                                                   | **✅**    | **❌**       | **❌**                |
| [FLOOR](/yida/form/gkzdswxg4g18443y)      | Rounds a number down, toward zero, to the nearest multiple of significance.                                                    | **✅**    | **❌**       | **❌**                |
| [INT](/yida/form/qht3on9d40988egd)        | Rounds a number down to the nearest integer.                                                                                   | **✅**    | **❌**       | **❌**                |
| [LOG](/yida/form/bunl3zq1z68guymc)        | Returns the logarithm of a number to a specified base.                                                                         | **✅**    | **❌**       | **❌**                |
| [MOD](/yida/form/smcm971lepq2nv6o)        | Returns the remainder after dividing two Numerical components.                                                                 | **✅**    | **❌**       | **✅**                |
| [POWER](/yida/form/biskll33337npp7d)      | Returns the result of a Numerical component raised to a power.                                                                 | **✅**    | **❌**       | **❌**                |
| [FIXED](/yida/form/an1t8blpsi4aue68)      | Rounds a number to the specified number of decimal places, formats it in decimal notation, and returns the result as a string. | **✅**    | **❌**       | **❌**                |
| [SQRT](/yida/form/ngysm1kw31gkmbqh)       | Returns the positive square root of the value of a Numerical component.                                                        | **✅**    | **❌**       | **❌**                |
| [SUM](/yida/form/ab2ef6nzxozn0xfe)        | Adds all numbers passed as arguments and returns the sum.                                                                      | **✅**    | **✅**       | **❌**                |
| [PRODUCT](/yida/form/wu3xhb5ve6v0tvci)    | Returns the product as a double-precision floating-point value.                                                                | **✅**    | **❌**       | **❌**                |
| [SUMPRODUCT](/yida/form/zrgy7twy6d9ry6ey) | Multiplies corresponding elements in the given arrays and returns the sum of those products.                                   | **✅**    | **❌**       | **❌**                |
| [LARGE](/yida/form/rnyume8c4kkywdpg)      | Returns the k-th largest value in a dataset.                                                                                   | **✅**    | **❌**       | **❌**                |
| [SMALL](/yida/form/kruy97m10v8mt3mt)      | Returns the k-th smallest value in a dataset.                                                                                  | **✅**    | **❌**       | **❌**                |
| [COUNTDISTINCT](/yida/form/yrofmw)        | Returns the count unique values result for \<Field>. \[Excluded fields] are not involved in the cross calculation.             | **❌**    | **✅**       | **❌**                |
| [ParseDouble](/yida/form/yrofmw)          | Casts a string or integer to a float.                                                                                          | **❌**    | **❌**       | **✅**                |
| [Parseint](/yida/form/yrofmw)             | Casts a string or float to an integer.                                                                                         | **❌**    | **❌**       | **✅**                |

## Set Functions

| **Function name**                            | **Description**                                         | **Form** | **Report** | **Data preparation** |
| -------------------------------------------- | ------------------------------------------------------- | -------- | ---------- | -------------------- |
| [DIFFERENCESET](/yida/form/ewow48u8pg6wde0y) | Returns the difference of two sets.                     | **✅**    | **❌**      | **❌**                |
| [INTERSECTIONSET](/yida/form/ah8b9z)         | Returns the intersection of two sets.                   | **✅**    | **❌**      | **❌**                |
| [SUBSET](/yida/form/ad122fe2ufqbog42)        | Checks whether the second set is a subset of the first. | **✅**    | **❌**      | **❌**                |
| [UNIONSET](/yida/form/ddsy93l7tdtf3s9s)      | Returns the union of two sets.                          | **✅**    | **❌**      | **❌**                |

## Validation Functions

| **Function name**                    | **Description**                                                                      | **Form** | **Report** | **Data preparation** |
| ------------------------------------ | ------------------------------------------------------------------------------------ | -------- | ---------- | -------------------- |
| [ARRAYREPEATED](/yida/form/fs8ym2)   | Checks whether an array contains duplicates.                                         | **✅**    | **❌**      | **❌**                |
| [EXIST](/yida/form/vs0ddo8m5ggofmtb) | Checks whether a value exists in a given set.                                        | **✅**    | **❌**      | **❌**                |
| [EXACT](/yida/form/onabfl769bhounig) | Compares two strings and returns whether they are exactly the same (case-sensitive). | **✅**    | **❌**      | **❌**                |

## User Functions

| **Function name**                              | **Description**                                                                                                                                                                   | **Form** | **Report** | **Data preparation** |
| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------- | -------------------- |
| [USER](/yida/form/vwncwe)                      | No-argument mode: User() returns the currently signed-in user. With argument: User(level) returns the manager of the currently signed-in user; level indicates the manager level. | **✅**    | **❌**      | **❌**                |
| [USERFIELD](/yida/form/oyuexdmpaxiys2tm)       | Auto-fills basic information based on a User search field.                                                                                                                        | **✅**    | **❌**      | **❌**                |
| [DIRECTOR](/yida/form/pvw37ge84kxg9x28)        | Returns the name of the manager of the currently signed-in user.                                                                                                                  | **✅**    | **❌**      | **❌**                |
| [EMPLOYEE](/yida/form/sxc8gv9dkhmt8zro)        | Returns the corresponding array of User information objects (the underlying value of the User component).                                                                         | **✅**    | **❌**      | **❌**                |
| [GETUSERNAME](/yida/form/zl5s2mdi2ue214n4)     | Returns the name of the currently signed-in user.                                                                                                                                 | **✅**    | **❌**      | **❌**                |
| [LOGINUSER](/yida/form/iak2o5xcbksb13wz)       | Signed-in user.                                                                                                                                                                   | **✅**    | **❌**      | **❌**                |
| [LOGINUSERWORKNO](/yida/form/sprth45e4nh19yhw) | Returns the unique employee ID (employee UserID) of the currently signed-in user.                                                                                                 | **✅**    | **❌**      | **❌**                |
| [DEPTNAME](/yida/form/igrvxuztr0syw9sn)        | Returns the department information of the specified user by userId.                                                                                                               | **✅**    | **❌**      | **❌**                |

## Advanced Formula Functions

| **Function name**           | **Description**                                                         | **Form** | **Report** | **Data preparation** |
| --------------------------- | ----------------------------------------------------------------------- | -------- | ---------- | -------------------- |
| [DELETE](/yida/form/fqtnhh) | Deletes data from the target form.                                      | **✅**    | **❌**      | **❌**                |
| [INSERT](/yida/form/yhdw79) | Inserts data from the current form into the target form.                | **✅**    | **❌**      | **❌**                |
| [UPDATE](/yida/form/svrgxm) | Updates records in the target form that match the specified conditions. | **✅**    | **❌**      | **❌**                |
| [UPSERT](/yida/form/al3gkc) | Inserts or updates data in the target form.                             | **✅**    | **❌**      | **❌**                |

## FAQs About Formulas

**1. In an EQ condition, the component used for comparison in the target form must be the first argument of EQ.**

EQ is used as a comparison condition. The component used for comparison in the target form must be placed as the first argument of EQ.

**2. In an EQ condition, the component used for comparison in the target form cannot be wrapped in another formula.**

**Note**: EQ must be followed by the component being compared, not by a formula directly. If needed, add a formula after the component used for comparison.

**3. Commas, parentheses, and other punctuation must be in English.**

**4. Only supported components can be used as comparison conditions.**

Components that can be used as evaluation conditions: Single-line text, Multi-line text, Select, Dropdown select, and Date. Other components are not supported at this time.

**5. Values cannot be assigned to unsupported components.**

Components that support assignment: **Only components of the same type can be assigned to each other.** Supported components include Single-line text, Multi-line text, Numerical, Select, Dropdown select, Checkbox, Dropdown checkbox, Cascading select, Date, Date range, Image upload, Attachment, User, and Address. Other components are not supported at this time.

**6. Components of different types cannot be assigned to each other.**

**Note: Only components of the same type can be assigned to each other. For example, a Numerical component cannot assign a value to an Image upload component.** See the table below for details:

| **Source Component/Formula** | **Components that can be assigned**                  |
| ---------------------------- | ---------------------------------------------------- |
| Single-line text             | Single-line text                                     |
| Multi-line text              | Multi-line text                                      |
| Numerical                    | Single-line text<br />Multi-line text<br />Numerical |
| Select                       | Select<br />Dropdown select                          |
| Dropdown select              | Select<br />Dropdown select                          |
| Checkbox                     | Checkbox                                             |
| Dropdown checkbox            | Dropdown checkbox                                    |
| Cascading select             | Cascading select                                     |
| Date                         | Date                                                 |
| Date range                   | Date range                                           |
| Image upload                 | Image upload                                         |
| Attachment                   | Attachment                                           |
| User                         | User                                                 |
| Address                      | Address                                              |
| Text function                | Single-line text<br />Multi-line text                |

**7. Use AND for the (and) logic in comparison conditions. The (or) logic is not supported at this time.**

**8. Business association formulas do not currently support string comparisons in conditions. Use the IF formula to evaluate first, then apply the business association formula.**

**9. Why does a business rule using an IF condition not take effect?**

When configuring a business association formula, if you use the IF formula for evaluation first, the IF condition must reference a main-table field.

**Note: The IF must be placed as the outermost evaluation; otherwise, it will not take effect.**

**10. "App configuration error, please contact the Admin"**

After configuring a business association formula, if the error "App configuration error, please contact the Admin" appears when submitting data, it means the target columns used for comparison and for value population have not been added as search fields. Add the target or comparison field to the search fields on the data management page of the target form.

**10.1 Steps:**

**10.1.1 Locate the query condition settings on the data management page of the target form.**

**10.1.2 Check whether the target form fields are included in the search. If not, add them via the participating search fields settings.**

**10.1.3 On the settings page, add the target column as a search field under fuzzy search, then click Execute now.**

**11. Main condition configuration error**

This error occurs when the sub-condition is placed incorrectly. You must first match on a field from the main table.

**12. Sub-condition configuration error. Only one detail record can be updated at a time. If the data matched in the target form is main-table data, place it in the main condition and connect it with AND.**

**13. When the target column in the matching condition is subform data, the error "The target column is not in the details being updated" appears after configuring the formula. Change the target column to a main-table field.**

**14. Parameter format mismatch**

When configuring a business association rule formula, the "Parameter format mismatch" prompt appears. Check whether the component title has been modified via code to include a line break. If the component title contains a line break, the field will display on multiple lines when configuring the formula and will trigger an error.

**15. Issues related to the execution order of business association rules and integration & automation**

**15.1 How is execution ordered when business association rules and integration & automation are used together?**

**Currently, business association rules and integration & automation follow independent execution logic. Each runs in its own execution order, and the overall order is not controllable.**

If mixed, the same target form may be updated by two task scheduling systems in an unexpected order, leading to incorrect business results — especially for complex processes such as inventory management with both increases and decreases.

We recommend using YiDA's integration & automation for syncing between business processes.

**15.2 How is execution ordered when an integration & automation node contains multiple business association rules?**

Business association rules currently support multiple rule entries, but due to product limitations, **the execution order between rules cannot be selected.**

To control the execution order, use Create, Update, Delete, and other \[data nodes] in integration & automation instead. These nodes support ordering and let you view execution records in \[Run logs].

Refer to the screenshots below for detailed settings.

**16. What is the difference between the pre-edit value and the post-edit value of a form?**

**When you configure a business association rule for a form in edit state, both a pre-edit value and a post-edit value are available.** The difference is as follows:

If the value of Form Field A is \[Watermelon] and you change it to \[Peach], the pre-edit value is \[Watermelon] and the post-edit value is \[Peach]. This is typically used when you need to modify the original target form value after editing.

**17. What are the usage limits for advanced functions?**

YiDA business rule functions currently support the following usage limits:

| Core function               | Purpose                                                                 | Usage limit                                                                                                                                                                                                                                                                                                                                |
| --------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [INSERT](/yida/form/yhdw79) | Inserts data from the current Form into the target Form.                | 1. When batch import triggers a business association rule that inserts into a target form (the main table), there is no per-field record limit (we recommend importing no more than 1,000 records at a time, as larger imports may run slowly). Batch import has a file size limit of 20 MB.<br />2. Subform insert into main table.<br /> |
| [UPDATE](/yida/form/svrgxm) | Updates records in the target Form that match the specified conditions. | 1. When the target is a main-table field, up to 100 records can be updated per operation. Exceeding this limit causes a submission failure.<br />2. Target is subform data.<br />                                                                                                                                                          |
| [UPSERT](/yida/form/al3gkc) | Inserts or updates data in the target Form.                             | 1. When the target is main-form data, up to 100 records can be updated per operation. Exceeding this limit causes a submission failure.<br />2. Target is subform data.<br />                                                                                                                                                              |
| [DELETE](/yida/form/fqtnhh) | Deletes data from the target Form.                                      | 1. When the target is main-form data, up to 100 records can be deleted per operation.<br />2. Target is subform data.<br />                                                                                                                                                                                                                |

**18. Why does a business rule not execute after a new field is added to the form?**

When a new field is added to the target form, existing historical records do not yet contain the new field, so they cannot be updated. Edit and save each historical record so the new field is loaded, then it can be updated normally. Batch import or update can also resolve this.

**19. Why does a formula fail to run when a Date component is used as the evaluation condition?**

Using a Date component as an evaluation condition is not recommended. The current value returned is a Unix timestamp, which is inaccurate for use as an evaluation condition.

**You can assign the value of the Date component to a Single-line text field and use that Single-line text as the evaluation condition instead.**

**20. When are business rules triggered?**

Data created by integration & automation does not currently trigger business rules.
