美文网首页
3.5 公式与函数

3.5 公式与函数

作者: MisShop智能开发平台 | 来源:发表于2019-03-11 18:03 被阅读0次

    MisShop通过公式,可以便捷地完成各种强大功能。MisShop的公式和Excel类似,简洁直观。在单元格中,以"="开头的是公式。公式类型包括:常量、运算符、单元格引用、数据、函数等。

    • 常量公式:例如=200=-2.83="abc def"="张雨涵"=true=false等。
    • 运算符公式:例如=200+3.5="这是"+8+"号"=3>5等。
    • 单元格引用:例如=B4+C4(注意列号字母必须大写
    • 数据:例如=ds.id=it.名称等。
    • 函数:例如=Date.now()=Math.pow(10,8)等。常见的静态函数空间有
      Date:日期函数
      Math:数学函数
      Str:文本函数(字符串函数)
      List:数组函数
      Map:键值对函数

    使用函数时,在单元格输入函数空间名,再输入小圆点,平台就以下拉列表的形式显示可选的所有函数,实现纯键盘的快捷录入。同时在小圆点后输入函数的部分字母或拼音首字母,平台会实时筛选出可选函数,鼠标移动到函数名上时会提示函数说明,极大方便函数录入。

    单元格中还可以写多条公式。如页面数据定义了sss为数组,其初始化函数为List.parse()。在页面单元格写上=sss=split(it.专业名称,"(");sss.get(0),意思是返回这条记录的专业名称字段的括号前面的字符串。


    常用的函数

    • select():我们在新生成的页面常看到单元格内容是 =ds.select(ds.id),这个公式意思是本单元格显示ds数据集的id字段,如果这个数据集有多条记录,则在浏览器中,该单元格向下扩展为多个单元格,每个格显示一条记录的id。

    当该单元格可以向下扩展时,单元格内会显示一个向下的红色箭头。此时如果右边的单元格如 =ds.名称 格在高级属性里设置了左主格(默认已设置),则这些单元格会跟着=ds.select(ds.id)格一起向下展开,表现在网页上就是显示很多行记录。如果单独写一个=ds.id,则只会显示ds记录集里的第一条记录的id字段。

    select()可以带过滤条件参数,其作用与sql语言中的select相似,指定显示字段,查询满足条件的记录,显示出来。如ds.select(`ds.id`,`ds.性别==Dict.性别.男`,["部门","-id"],2,10)表示查询性别为男的用户的id,先按部门排序,部门相同的按id反向排序,从第3条开始,获取10条数据。

    • find():查询满足条件的数据。常用在变量的初始化函数中,如ds的初始化函数为 table.用户.find(table.用户.性别==Dict.性别.男,["-id"])。find()函数返回的结果是一个数据集,但直接放在单元格时,不能根据数据集记录条数展开显示,如同=ds.id一样,只会显示第一条。

    • findOne():返回满足条件的一条记录。例如it变量的初始化函数table.用户.findOne(table.用户.id == @it_id,[]),返回的是一条记录。

    • dynamic():表示获取某个单元格的动态显示值,如A2单元格的内容设置为=dynamic(A1),则一旦A1的值改变,A2也跟着改变。后期书写形式可以直接写成dynamic.A1 。

    • ifv():根据条件设置值。如B2单元格的内容设置为=ifv(A2>=100,"BIG","SMALL"),则当A2的值大于等于100时,B2单元格显示BIG,否则显示SMALL
      如在A2单元格的基本属性可视 项目右侧的公式栏写上=ifv(A1=="可用",true,false),则当A1单元格内容为“可用”时,B2的内容显示,否则不显示。
      =ifv(it.性别==null || it.性别=="",@gender,it.性别)表示如果it的性别字段是空的,那么返回参数gender的值,否则返回性别字段的值。

    不同形式开头的函数功能有细微差别,例如求和的函数:
    =table.用户.sum(table.用户.id , table.用户.id/2==0) :对整个数据表的偶数id求和。
    =ds.sum(ds.id , ds.id/2==1) :分页的求和,只对当前页面显示记录的id求和,虽然ds的定义也是从table中得来。

    对于返回记录或数据集类型的函数,其后加上小圆点后可以下拉显示候选值。如=table.用户.findOne(table.用户.id==12).性别,表示id为12的用户的性别。但函数返回值下拉的字段还是一个引用的话,不能连续下拉多次。

    相关文章

      网友评论

          本文标题:3.5 公式与函数

          本文链接:https://www.haomeiwen.com/subject/xbjhpqtx.html