即取即用,几个函数公式与自定义函数分享

文/刘明菲 刘泽欣 薛晨

编辑/麦壁瑜

明道云为用户提供了多种处理数据的函数公式,类似Excel中的函数功能。表单中为某个字段设置好函数计算公式后,用户在创建记录或修改记录数据时,可以实时获得该字段的值,不需要再手动填写或保存提交后通过工作流处理后才能得到结果,从而提高数据录入和处理效率。

本文为大家分享几个函数公式,有需要的用户可以直接复制使用。

函数公式

1.根据生日计算生肖

公式:MID(“鼠牛虎兔龙蛇马羊猴鸡狗猪”,MOD(YEAR(生日字段)-4,12)+1,1)

在创建记录页面填写生日后可自动获取生肖。

2.根据证件号获取生日、年龄、性别(适用于18位证件号)

公式:

获取出生日期:MID(证件号字段,7,8)

获取年龄:DATEIF(MID(证件号字段,7,8),DATENOW(),2,’Y’)

获取性别: IF(MOD(MID(证件号字段,17,1),2),”男”,”女”)

3.从地区控件分别获取省、市、区

公式:

获取省(第一级):TRIM(IF(ISBLANK(FIND(地区字段,””,”/”)),FIND(地区字段,””,””),FIND(地区字段,””,”/”)))

获取市(第二级):TRIM(IF(ISBLANK(FIND(地区字段,”/”,”/”)),FIND(地区字段,”/”,””),FIND(地区字段,”/”,”/”)))

获取区县(第三级):TRIM(IF(ISBLANK(FIND(地区字段,”/”,”/”)),”,FIND(FIND(地区字段,”/”,””),”/”,””)))

展示效果如下,无论选择到省市县哪一级,都可以获得对应的内容。

按照以上思路,若需要分别获取级联选择字段(三级)各层级内容,也可使用上述函数。需要注意的是,级联字段不能直接作为函数的参数。但没关系,我们可以借助文本组合和文本字段先获取级联字段的文本,再配置相应函数即可。

自定义函数

对于更加个性化的数据处理场景,大家可以通过自定义函数来快速处理。接下来分享几个自定义函数应用场景。

1.根据生日获取星座

  var date = new Date(生日字段);
  var month= date.getMonth() + 1;
  var day=date.getDate();
function getAstro(month,day){
  var s="摩羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手摩羯";
  var arr=[20,19,21,21,21,22,23,23,23,23,22,22];
  return s.substr(month*2-(day<arr[month-1]?2:0),2);
}
  return getAstro(month,day)+'座'

展示效果:

2.计算文本字符数

var txt = 文本字段;
var l = txt.length;
return l

在创建或修改文本字段内容时,实时计算字符长度。

3.生成固定位数的随机数字

var len = 数字长度;
let chars = '0123456789';
      let maxPos = chars.length;
      let str = '';
      for (let i = 0; i < len; i++) {
        str += chars.charAt(Math.floor(Math.random() * maxPos));
      }
      return str

效果:

4.生成固定长度的随机字符串
var len =字符串长度;
let _charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789',
min = 0,
max = _charStr.length-1,
_str = ''; //定义随机字符串 变量
//判断是否指定长度,否则默认长度为15
len = len || 15;
//循环生成字符串
for(var i = 0, index; i < len; i++){
index = (function(randomIndexFunc, i){
return randomIndexFunc(min, max, i, randomIndexFunc);
})(function(min, max, i, _self){
let indexTemp = Math.floor(Math.random()*(max-min+1)+min),
numStart = _charStr.length - 10;
if(i==0&&indexTemp >=numStart){
indexTemp = _self(min, max, i, _self);
}
return indexTemp ;
}, i);
_str += _charStr[index];
}
return _str

效果:

函数默认值目前支持五大类型的函数:数学函数、日期函数、文本函数、逻辑函数、高级函数,50多种类型,基本满足日常的数据处理需求。 本文列举的几种函数默认值可结合实际业务场景使用。如果你还想了解更多函数默认值的介绍,欢迎访问明道云帮助中心:https://help.mingdao.com/function.html

关于明道云

明道云是一个创新的超级应用平台,可以帮助用户零代码构建企业应用,用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用,打通企业内部数据。明道云还具备超自动化引擎,可以全面自动化复杂和重复的业务流程。运用明道云的集成中心与完整的API对接能力,用户可以轻松地将明道云与外部系统集成。除此之外,明道云超级应用平台还具备很高的可组合性,国际化支持,并支持云原生架构,实现了多云部署能力。通过插件架构,明道云正在逐步建立起繁荣的实施与开发生态。

明道云可以帮助企业大大节省软件费用、降低定制开发的成本和时间,拥有一个极度灵活和易用的数字化平台,是企业数字化建设的重要工具。目前已有上百万用户使用,付费企业超过4000家,包括可口可乐、复星集团、中国移动、中国联通、中国电信、中铁集团、北京地铁、佛山铁路、华夏银行、民生银行、迪卡侬、艾默生电气、泰科电子、四川航空、东方证券、万豪酒店、洲际酒店等知名客户。

2021年5月,明道云获得海纳亚洲近亿元投资。公司目前有超过130名员工,产品研发团队过半,总部位于上海漕河泾开发区,在北京、广州、深圳、成都、郑州、武汉、西安和宁波设有分支机构。公司为高新技术企业,上海市专新特精认定企业。