{{ userInfo?.name || '搭贝用户' }} 退出登录
菜单
目录
玩转搭贝
表单管理
自定义组件
常见问题FAQ
跨表单函数
发布人:爱搭贝
更新时间:2026-08-19

MAPX

MAPX 函数是一个“跨表单”函数。有且仅有“跨表单”函数可调用当前表单中已经提交的或其他表单中数据。

函数用法

MAPX(operation, current_value, other_field, result_field)

其中各参数的含义如下:

operation: 聚合操作,必填;
current_value: 条件字段值,即检索值,必填;
other_field: 条件字段名,即检索范围,必填;
result_field:字段返回值,必填;

当指定表单的 other_field 列的值为 current_value 时,返回 result_field 的所有值,然后根据指定的聚合操作 operation 得到对应的返回值。

可以理解为

在检索范围中,找到检索值对应的返回值,并对返回值进行聚合操作。

MAPX("聚合操作",检索值,检索范围,返回值)

注意检索值来自当前表单中(蓝底),检索范围和返回值来自所有表单字段中的同一表单(灰底)。

 

参数限制:

1)聚合操作(operation)

operation 参数(聚合操作)为字符串,可选值如下::

参考值 含义
first 获取返回值的第一个
last  获取返回值的最后一个
max 最大值
min 最小值
avg 平均值
sum 求和
count 获取返回值的个数

2)检索值(current_value)、检索范围(other_field)

支持设置检索值的字段,及其对应支持的检索范围字段如下表所示:

检索值 检索范围
单行文本 单行文本、多行文本、单选按钮组、复选框组、下拉框、下拉复选框、流水号
数字 数字
多行文本 单行文本、多行文本、单选按钮组、复选框组、下拉框、下拉复选框、流水号
日期时间 日期时间、提交时间、更新时间
单选按钮组 单行文本、多行文本、单选按钮组、复选框组、下拉框、下拉复选框、流水号
复选框组 复选框组、下拉复选框(全等)
下拉框 单行文本、多行文本、单选按钮组、复选框组、下拉框、下拉复选框
下拉复选框 复选框组、下拉复选框(全等)
关联表单 与关联字段类型为准

3)返回值(result_field)

以 A 表设置 MAPX 公式,跨表取 B 表数据:MAPX(“聚合操作”,字段1,字段2,“返回值”)为例,根据不同的聚合操作,支持设置返回值的字段如下:

聚合操作 支持的返回值字段 返回值计算方法
first

单行文本、多行文本、数字、日期时间、单选按钮组、复选框组、下拉框、下拉复选框、流水号、创建时间、修改时间

取字段 1=字段 2时,B 表中第一条入库的数据对应的返回字段值

last

单行文本、多行文本、数字、日期时间、单选按钮组、复选框组、下拉框、下拉复选框、流水号、创建时间、修改时间

取字段 1=字段 2时,B 表中第一条入库的数据对应的返回字段值

max 数字

取字段 1=字段 2时,B 表所有数据数字字段的最大值

单行文本、多行文本、日期时间、单选按钮组、复选框组、下拉框、下拉复选框、流水号、创建时间、修改时间

取字段 1=字段 2时,B 表所有数据按字符串比较,返回对应字符串最大值

 
min 数字

取字段 1=字段 2时,B 表所有数据数字字段的最小值

单行文本、多行文本、日期时间、单选按钮组、复选框组、下拉框、下拉复选框、流水号、创建时间、修改时间、扩展字段

取字段 1=字段 2时,B 表所有数据按字符串比较,返回对应字符串最大值

 
avg 数字

取字段 1=字段 2时,B 表所有数据数字字段的平均值

sum 数字

取字段 1=字段 2时,B 表所有数据数字字段的求和

count

单行文本、多行文本、数字、日期时间、单选按钮组、复选框组、下拉框、下拉复选框、流水号、创建人、创建时间、修改时间

取字段 1=字段 2时,B 表录入了多少条匹配的数据

注:1)检索范围和返回值中的字段不能选择子表单字段

函数示例:

跨表有两种情况:

1)同 1 张表单,录入数据时调用之前已经提交的数据;

2)2 张表单,A 表录入数据时,调用 B 表已经录入的数据。

应用举例:

有一张选课表,在选择选修课程时,需要计算出自己是第几个报名的,即计算出某一课程的已报名人数,再+1。

可以看出,此处的检索值为课程,选了哪门课程,就统计这门课程的已报名人数。则公式为:

MAPX("COUNT",课程,课程,姓名)

对“我是第几个报名的”字段进行编辑函数:

MAPX("COUNT",课程,课程,姓名)+1

 

对于这个例子,可理解为:在之前录入的数据里,寻找「课程」字段选择了“游泳”的对应的姓名,并用COUNT 函数统计对应姓名的个数,得到已经报名的人数;最后加 1,得到“我是第几个报名的”。点击体验效果

看一下效果:

选择了游泳,就是在之前录入的课程数据里,查找值为“游泳”的,并对选择游泳的姓名进行计数,发现前面已经有 3 人报名,自己是第 4 个报名的。
同理,选择了太极,就是在之前录入的课程数据里,查找值为“太极”的,并对选择太极的姓名进行计数,发现前面已经有 1 人报名,自己是第 2 个报名的。
选择了足球,就是在之前录入的课程数据里,查找值为“足球”的,并对选择足球的姓名进行计数,发现前面已经有 2 人报名,自己是第 3 个报名的。

 

 

 

 

注:1)当设置字段公式为 MAPX("COUNT",课程,课程,姓名) 时,如返回值为 0,则字段会显示为空值
本篇目录
{{ dl1.name }}
{{ dl2.name }}
{{ dl3.name }}
已有100W家企业组织通过搭贝解决运营难题

搭贝免费注册

  • 注册后免费试用15天
  • 满意后再付款,使用不满意随时退款
  • 400+ 管理应用模版免费安装使用
  • 支持对所有模板进行自定义修改
立即在线试用
预约演示 预约演示
电话咨询 电话咨询
电话咨询

官网免费咨询热线

400-688-0186