本案例将介绍,当表单中要统计的值对应着多个条件时,如何通过 MAPX 函数实现跨表单数据调取和应用。
1)在当前表单和检索表单中分别添加一个辅助字段;
2)通过 CONCATENATE 函数将需要检索的多个条件文本合并至辅助字段中;
3)最后设置 MAPX 函数,把辅助字段作为检索值和检索范围。
以销售管理场景中,统计销售人员某月份的销售总额及提成为例:
1)在「每日销售数据」中记录销售人员每日的销售数据:
2)财务人员月底填写「提成表」,输入销售人员姓名、统计月份,即可自动调取销售数据,计算处销售总额和对应的提成。
在学习之前建议安装 MAPX函数案例 应用模板,本文将按照模板中的示例数据进行讲解。
1)新建「每日销售数据」表单,字段设置如下:
字段名称 | 字段类型 | 字段设置 |
销售人员 | 单行文本 | |
日期 | 日期时间 | 默认值:填写当时 |
销售明细 | 子表单 | |
商品名称 | 子字段-下拉框 | |
数量 | 子字段-数字 | |
单价 | 子字段-数字 | |
小计 | 子字段-数字 | 公式:销售明细.数量*销售明细.单价 |
销售总额 | 数字 | 销售总额:SUM(销售明细.小计) |
姓名+年月 | 单行文本 |
2)新建「提成表」表单,字段设置如下:
字段名称 | 字段类型 | 字段设置 |
销售人员 | 单行文本 | |
统计月份 | 日期时间 | 类型:年-月 默认值:填写当时 |
销售总额 | 子表单 | |
提成计算 | 子字段-下拉框 | |
姓名+年月 | 子字段-数字 |
1)进入「每日销售数据」表单,选中「姓名+年月」的辅助字段,在「字段属性 >> 默认值」处,设置默认值为「公式编辑」,点击下方「编辑公式」:
2)在公式编辑页面,设置「姓名+年月」字段的公式为CONCATENATE(销售人员,TEXT(DATE(日期),'yyyyMM')),让该字段取值为:销售员姓名+销售日期对应的年月。
3)同理,设置「提成表」表中「姓名+年月」字段的公式为CONCATENATE(销售人员,TEXT(DATE(统计月份),'yyyyMM')),同样取值为:销售员姓名+销售日期对应的年月。
进入「提成表」表单,设置「销售总额」字段的公式为MAPX('SUM',姓名+年月,姓名+年月,销售总额)。
1)其中,MAPX 函数中第一个参数「姓名+年月」字段来自当前表单,在可用变量处选择表单为「当前表单」,再添加「姓名+年月」字段:
2)第二、三个参数「姓名+年月」和「销售总额」字段来自「每日销售数据」表单,在可用变量处切换表单为「每日销售数据」,再添加对应字段:
最后,设置「提成表」表的「提成计算」字段公式为IF(销售总额<10000,销售总额*0.1,销售总额*0.2),表示当销售总额低于 10000 时,提成比例为 0.1;当销售总额超过 10000 时,提成比例为 0.2。
效果演示参见本文【1.4 预期效果】。