1. 概述
1.1 问题描述
有时候希望将不同数据集中的某些字段先通过共有字段关联起来,然后在一张表中将这些字段数据拼接起来。
如下图示例,区号和序号分别来源于不同的数据集,希望它们可以根据相同字段刊物名先关联起来,再将它们拼接在一起形成刊号。
1.2 实现思路
关联数据集通过数据列的过滤功能实现,字符串拼接通过 JOINARRAY() 函数实现。
JOINARRAY() 函数是数组函数,其用法和更多的数据函数介绍参见文档:数组函数
2. 示例
2.1 准备数据
1)新建内置数据集 ds1,包含两个字段,分别是刊物名和区号,如下图所示:
2)新建内置数据集 ds2,包含两个字段,分别是刊物名和序号,如下图所示:
2.2 设计表格
如下图设计表格,将 ds1 的刊物名和区号分别拖到 A2 和 B2 单元格,将 ds2 的序号拖到 C2 单元格。
2.3 关联数据集
双击 C2 单元格,让 ds2 的刊物名等于 A2 单元格,也就是 ds1 和 ds2 通过共有字段刊物名关联起来了,如下图所示:
2.4 拼接字符串
D2 单元格插入公式JOINARRAY([B2,C2], "-"),将区号和序号拼接起来,如下图所示:
2.5 效果预览
保存报表,分页预览后,拼接效果如下图所示:
同时支持 App 端和 HTML5 端预览,效果如下图所示:
3. 模板下载
已完成模板参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\关联数据集并拼接字符串.cpt
点击下载模板:关联数据集并拼接字符串.cpt