「「云之家」」计算公式之 MAP 函数

186 阅读3分钟

「「云之家」」计算公式之 MAP 函数

MAP 函数是做什么的?

MAP是用来筛选符合条件的数据的,一般是用来筛选明细中的数据

用法

MAP(遍历的数据, 筛选条件, 索引)

说明

遍历的数据:必传的参数,要遍历的数据

筛选条件:必传的参数,如何筛选数据,其实就是这个条件返回真,这条数据就匹配了这个条件,筛选后的数据就会包含这条数据

索引:非必传参数,索引从 1 开始

示例

  • 假设我们有个【转正评分明细】,数据如下
评价人姓名评价得分
孙悟空11
猪八戒5
沙僧4
  • 2 用 MAP 函数筛选出所有评价得分 > 10 的记录
MAP(转正评分明细.控件自身,转正评分明细.评价得分 > 10)

筛选结果:(只有一条记录符合条件)

评价人姓名评价得分
孙悟空11

场景 1

假如,有个【转正评分】模板,评价得分最高为 10 分,那么如果【转正评分明细】中出现 评价得分 > 10,自然就是异常情况,这个时候我们就要限制,如果【转正评分明细】中出现 评价得分 > 10 的记录,就不允许提交,就可以再【提交校验】中设置如下

// COUNT 函数是判断数量的
COUNT(MAP(转正评分明细.控件自身, 转正评分明细.评价得分 > 10)) > 0

// 或者

IF(COUNT(MAP(转正评分明细.控件自身,转正评分明细.评价得分 > 10)) > 0, true, false)

进阶用法

等等,你好像没说【索引】怎么用啊!!!

场景 2

假如,有个【转正评分】模板,想找到评分得分 > 5 的的第二个人是谁,怎么办,(没错,我就是不找第一个,就要第二个,因为第一个没挑战)

  • 假设我们有个【转正评分明细】,数据如下,按照上面的逻辑,我们应该取到的是【猪八戒】
评价人姓名评价得分
孙悟空11
猪八戒6
沙僧4
小白3
// 单行文本框的值计算公式设置为如下:
MAP(转正评分明细.控件自身, IF(转正评分明细.评价得分 > 5, 转正评分明细.评价人姓名, false), 2)

解析

MAP(转正评分明细.控件自身, IF(转正评分明细.评价得分 > 5, 转正评分明细.评价人姓名, false))

当我们只输入以上计算公式时,筛选出的数据为

评价人姓名
孙悟空
猪八戒

我们最终要取的是第二条,那么就告诉 MAP函数,我要取第二条数据,此时我们就会使用到【索引】

MAP(转正评分明细.控件自身, IF(转正评分明细.评价得分 > 5, 转正评分明细.评价人姓名, false), 2)

// 取第一条呢
MAP(转正评分明细.控件自身, IF(转正评分明细.评价得分 > 5, 转正评分明细.评价人姓名, false), 1)

欢迎关注我的个人公众号「「小枫学幽默」」一起成长,一起分享生活!!

扫码关注我.png