1. 概述
1.1 函数作用
在制作报表时,我们可能需要根据某一单元格的值对数据集进行检索并返回对应的值。
此情况时,可使用 map() 函数,根据数据集的名字,找到对应的数据集,找到其中索引列的值为 key 所对应的返回值。 map() 函数首先检索模板数据集,再检索服务器数据集。
示例:
MAP(1001,"employee",1,2)返回 employee 数据集,第 1 列中值为 1001 那条记录中第 2 列的值。
MAP(1001,"employee","name","address")返回 employee 数据集,name 列中值为 1001 那条记录中 address 列的值。注:只返回第一个找到的值。
1.2 使用说明
MAP(object,string,int,int):根据数据集的名字,找到对应的数据集,找到其中索引列的值为 key 所对应的返回值。
object:索引值,需要查询的内容。
string:数据集的名字,定义的数据查询的名字。
int:索引值所在列序号。
int:返回值所在列序号。
注:后两个参数也可以写列名代替。根据数据集的名字,找到对应的数据集,找到其中索引列的值为key所对应的返回值。数据集的查找方式是依次从报表数据集找到服务器数据集。索引列序号与返回值序列号的初始值为1。
1.3 视频教程
2. 示例
2.1 报表设计
2.1.1 数据准备
新建数据查询 ds1 ,SQL 语句如下SELECT * FROM 供应商,如下图所示:
2.1.2 模板设计
新建普通报表,分别给 A1~A5 单元格赋值,单击 A2 单元格,右键选择单元格元素,选择插入公式,公式如下:
MAP(A1, "ds1", "公司名称", "供应商ID")返回 ds1 数据集,“公司名称”列中值为 A1 那条记录中“供应商 ID”列的值。
MAP(A1, "ds1", 2, 1)返回 ds1 数据集,第 2 列中值为 A1 那条记录中第1列的值。
MAP("妙生", "ds1", "公司名称", "供应商ID")返回 ds1 数据集,“公司名称”列中值为“妙生”那条记录中“供应商 ID”列的值。
MAP("妙生", "ds1", 2, 1)返回 ds1 数据集,第2列中值为“妙生”那条记录中第1列的值。
2.2 效果预览
1)PC端
保存模板,点击分页预览,如下图所示:
2)移动端
3. 模板下载
点击下载模板:Map函数.cpt