如何玩转“听到头疼用了爱”的函数计算

文/常亚东 兰倚

编辑/麦壁瑜

函数让人一听就头皮发麻——这可能是大多数人的第一反应。但是使用好函数确实可以解决很多复杂问题,让我们的系统变得高级、更灵活。

就像Excel内置的函数功能,明道云也提供了多种函数公式。搭建者在表单中为某个数值字段设置好计算公式后,用户在创建或修改记录数据时,只需输入部分参数值,该字段的值就会自动得出,无需手动计算填写,提高效率。

目前,明道云的两个地方可使用函数处理数据:

  • 字段的默认值赋值
  • 工作流的运算节点

支持函数类型上,明道云提供五大类型函数(数学函数、文本函数、日期函数、逻辑函数、高级函数),以及用JavaScript创造自定义函数

场景示例

先别头疼,下面我用几个场景示例来介绍函数计算能玩出什么“花样”,让你爱上这个小功能。

日期函数:日期格式转换

使用日期函数,分别获取某个日期字段的“年”、“月”、“日”和“星期”的值,然后重新拼接组合成想要的新格式。

逻辑函数:根据逻辑条件自动判断

以考试成绩为例,我们用逻辑函数设置不同分数的等级,比如“不合格”、“良好”、“优秀”,让系统自动判断得出成绩等级。

如果不用逻辑函数,老师只能批量筛选分数范围内的学生,批量更新结果评级,效率稍低。

文本函数:识别身份证号的出生日期

根据身份证号,利用获取文本函数提取出生年、月、日,并使用拼接函数组合为日期格式。效果如图。

函数配置教学

开始使用函数计算前,我们先来了解哪些字段支持函数赋值、哪些字段支持作为函数参数:

  • 支持函数赋值的字段: 只有文本、数值、金额、日期、邮箱、手机号等字段支持通过函数功能字段填充默认值,其他字段不支持。
  • 支持作为函数参数的字段:文本、数值、金额、邮箱、手机、日期、单选、多选、成员、部门、检查框、地区、证件、子表、关联表。
  • 不支持作为参数的字段:等级、文本组合、他表字段、公式、汇总、自动编号、富文本、级联选择、附件、大写金额、签名。

配置入口: 在表单编辑页面,选择字段后,点击右侧的动态默认值按钮,选择函数计算。

从左侧选择函数公式和字段参数,或手动编写公式函数和静态参数。

函数公式的组成

函数的套用是一个具有逻辑性而且容易出错的地方,主要是层级套用怎幺去套。一般来说,要从内到外,或者从外到内,逐级推进。函数公式一般由「函数名+参数+运算符号+参数分割符号」几个元素组成。

其中参数可以是字段值,也可以是静态值。如下图中的函数:

在实际使用时,我们不一定要用到所有元素,也可以多个函数嵌套使用。函数的具体方法可参考示例:

函数编写规则和注意事项

1.公式开头不需要写等号

上面已经写了等号,编辑公式时不需要写“=”号。

2.函数和字段参数的正确选择

  • 函数方法可以从左侧点击选择,也可以手写但必须全部大写。
  • 字段必须从左侧选择

3.函数类型正确选择

每个函数都有固定的结果返回类型,为字段设置默认值,必须选择和此字段类型一致的函数。例如,为数值字段设置默认值,如果选择了DATENOW(),返回的是时间,则不会有任何内容。

4.运算符号的正确书写

公式中等于的符号是 双等号:== ,不是 = ,例如: IF(单选字段==’选项1′,5,0)

5.函数参数的正确书写

例如,计算多个字段求和的SUM(字段1,字段2) 函数,函数的参数必须是数字类型。如果选择字段是日期类型就不会正确处理,结果就会为空。

参数的类型,在下方的示例中都有说明。

三类参数的使用注意事项

大部分函数都需要参数,参数的类型主要有静态值、动态值、动态和静态混合3种,输入参数时,要保证参数的正确书写,函数公式才能正确计算。

静态参数

静态参数是指:将参数写成固定值。每次计算都使用相同的值参与函数计算。

  • 文本、时间类型的静态参数,首尾必须加单引号。
  • 文本、时间、单选都当作是文本类型,如果参数是固定值,内容的首尾必须加英文引号(双引号也行)。
    • 例1:获取2022年05月31号是周几。
    • 例2:将手机号中的4-7位替换为**, 这是一个静态固定参数,首尾加单引号。
  • 数值类型的静态参数,直接写数字
    • 例如:获取手机号内容时,需要指定位数开始,直接写4即可,不用加引号。

动态参数

静态参数是指:字段值或函数结果。

  • 如果参数是字段值,直接选择即可,首尾不加引号。
    • 例1:求某个小数的四舍五入的值,直接选择字段即可。
    • 例2:求多个数值字段之间的和,分别选择对应的字段即可,除了参数间的分隔符(英文逗号),无需其他符号。
  • 如果参数是其他函数返回的结果,首尾不加引号。
    • 例:获取当前日期的月份。

静态内容和动态内容的组合

  • 如果参数是多个动态和静态内容的组合,则需要拼接,拼接的结果其实已经是文本类型,此时不需要首尾加引号
    • 例如:通过DATEADD()函数获取某个日期所在周的周一日期。用法:DATEADD( 日期,’加减时长’, 输出格式 )
  • 参数“加减时长” 是一个文本类型的组合内容(加减符号+数字+单位)。
    • 例如:-1d表示减去1天,+3M 表示增加3个月。由于周几是动态值,需要字段参与,因为加减字符,数字和单位需要使用CONCAT来组合拼接。用法:DATEADD(日期,CONCAT(‘-‘,WEEKDAY(日期)-1,’d’),1)

结语

总之想要用好函数,除了有简单的逻辑思维以外,还要实际使用。,量实践有助于我们建立逻辑型思维。在明道云应用市场里有一个函数应用,欢迎大家下载参透。

关于明道云

明道云(www.mingdao.com)成立于2013年,位于上海,创始人为互联网知名人士任向晖先生。明道云是一个APaaS平台,帮助企业快速搭建个性化业务应用。用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用,打通企业内部数据,也能够通过API和Webhook和其他系统对接。

明道云的自动化工作流还可以实现审批、填写等控制流程和业务自动化。如果用户企业使用钉钉或企业微信,也可以将明道云搭建的应用直接对接到工作台上。

明道云可以帮助企业大大节省软件费用、降低定制开发的成本和时间,拥有一个极度灵活和易用的数据中台,并提高整体数字化和智能化水平。目前已有上百万用户使用,付费企业超过4000家,典型客户包括:中铁三局、佛山地铁、普华永道、艾瑞咨询、迪卡侬、北京大学、四川航空、上海静安区街道、艾默生电子、西门子、杭州建筑设计研究院、七天四季酒店、希尔顿、凯宾斯基酒店、可口可乐等知名机构。了解更多