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

文/刘明菲 刘泽欣 薛晨

编辑/麦壁瑜

明道云为用户提供了多种处理数据的函数公式,类似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

关于明道云

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

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

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