公式规则

1. 简介

公式,可以使字段的值根据函数自动计算出来,不需要再手动填写。本文将介绍公式编辑中的编写规则,帮助您更好的设计和使用公式。

2. 公式的组成

公式通常由字段函数运算符标点符号组成,以如下公式为例:

ROUND(总价/数量,2)
  • 字段:公式计算的数据来源,在表单字段中点击选择,如示例公式中的「总价」、「数量」;
  • 函数:可以直接输入函数名称,或在函数列表中选择使用,如示例公式中的「ROUND」;
  • 运算符:“+、-、*、/”等数据运算符号,直接在公式编辑区手动输入,如示例公式中的「/」;
  • 标点符号:完整的公式常常需要添加标点符号进行完善,如示例公式中的逗号、括号。

3. 公式规则

3.1 字段的添加规则

在公式编辑中,所有的字段实际上都有一个内置的 ID,而所能看见的字段名称,也仅仅是一个名称。当公式需要将字段值作为变量时,手动输入或复制粘贴都是无效的

因为字段名可以重复,如果需要在公式中插入字段,应在公式编辑窗口左下角的字段列表中点击该字段,而不是手动输入字段名称。

3.2 在当前/所有表单字段中选择字段

公式所要用到的字段,绝大多数情况下是从当前表单字段中选择。只有 MAPX 函数的最后 2 个参数会用到所有表单字段

注:从当前表单字段中选择的字段是蓝色的,从所有表单字段中选择的字段是绿色的。

3.3 运算符号

简道云公式编辑中,支持的运算操作符和比较操作符如下:

运算规则

运算符号

+

-

*

/

大于

>

小于

<

等于

==(注意不是=)

不等于

!=

大于等于

>=

小于等于

<=

3.4 标点符号

1)公式内所有出现的符号,都必须在英文状态下输入。

如使用了中文标点,页面中会提示“字符错误”,如下图所示:

2)如编辑公式时使用了函数,则必须要按照示例使用括号,且保证括号的两两匹配。

如缺少括号,或未两两匹配,页面中会提示“语法错误,缺少标示符”,如下图所示:

3.5 函数的输入规则

在使用函数的时候,除了在函数列表选择,还可以手动输入。输入函数时会自动联想,正确的函数会显示为紫色:

3.6 字符数量限制

编辑公式时需要注意,每个公式最多添加 2000 行,且单行不能超过 10000 个字符,单行字符较多时建议使用回车键换行,而非超出编辑框自动换行。

当超出每个公式 2000 行或单行 10000 个字符限制时,会导致公式内容保存不全和无法运行公式的情况。

3.7 函数的参数设置

编写公式使用函数时,需要注意如下参数相关问题:

1)参数的个数

函数中参数的个数必须按照要求填写,保证公式的正常运行。

例如,日期函数 DATEDELTA,该函数要求添加两个参数,分别为「指定日期」和「需要加减的天数」。当函数的参数只添加了一个时,公式将无法正常计算,且页面中会提示“DATEDELTA:表达式参数的个数不符合要求“,如下图所示:

2)参数的数据类型

编写公式时要按照函数的要求,保证参数的数据类型的正确。

例如,日期函数 DAYS,该函数要求所有参数都必须是时间戳类型。当函数的参数使用了文本类型时,公式将无法正常计算,且页面中会提示“DAYS:表达式的第 1 个参数不符合类型要求”,如下图所示:

3.8 子表单中公式的使用

子表单中,一个字段存储的是一列数据,即一个子表单字段对应了多个值;如下图的「名称」字段对应的值为:["苹果","橘子","樱桃","草莓"]。

由于部分函数的参数是单个字段值,如LEFT、LOWER、TEXTDEPT等,故这些函数不能直接在主表中使用子表单字段。

如,需要将子表单中某一列的数据都转化为小写,并汇总在主表字段中:

  • 如果直接在主表通过 CONCATENATE 函数和 LOWER 函数调用,则会调用失败;
  • 如果先在子表中使用 LOWER 函数,再在主表中通过 CONCATENATE 函数将文本连接起来,则可以调用成功。

3.9 返回值数据类型

在对字段编辑公式时,不同的字段对公式的返回值的数据类型有不同的要求,不符合要求则可能无法获得正确的结果。

例如,对数字字段编写公式时,数字字段要求返回值的数据类型必须是数字,那么如果公式是 TODAY() , 就会导致公式无法计算出结果,因为 TODAY 函数的返回值是日期,不符合数字字段要求的返回值的数据类型。

支持编辑公式的表单字段对不同公式的返回值数据类型要求如下:

字段

对公式返回值的数据类型的要求

单行文本

文本、数字、日期等(日期以日期对象形式展示)

多行文本

文本、数字、日期等(日期以日期对象形式展示)

数字

只能是数字

日期时间

日期或数字(数字会视为单位为毫秒的时间戳)

4. 扩展阅读(建议进阶用户阅读)

上文【3.9 返回值数据类型】中提到了不同字段对公式返回值的数据类型的要求,会发现单行文本的返回值并不仅限于文本,可以是数字等。

这是因为在简道云中支持部分数据类型之间的自动转换,数字 2 可以自动转换为文本 2,任何数字都可以这样轻易转换。

但是文本就不行了,文本"张三"就没法转换成数字,所以数字字段要求其公式的返回值只能是数字。

编写公式时,我们可以插入字段到公式中,插入到公式中的字段的数据类型和字段对公式返回值的数据类型并非完全相同。

例如,上文提到了单行文本编写公式时,公式的返回值可以是数字,但是在公式中插入单行文本字段时,该单行文本的数据类型只会是文本。

常见字段插入公式后的数据类型如下表所示:

字段

插入公式时的数据类型

单行文本

文本

数字

数字

日期时间

时间戳

下拉框

文本

单选按钮组

文本

下拉复选框

数组

复选框组

数组

本文是否对您有帮助?
 有帮助
 没帮助
您是否遇到了以下问题?
如需获取即时帮助,请联系技术支持