最新历史版本 :单元格内实现数据拼接 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

本文为第三方解决方案或非产品相关操作指南,仅提供给具备自主开发能力的用户使用。

帆软技术支持专注于产品本身的功能和问题,不负责本文档的维护和使用问题解答。

若您的场景方案与文档不完全一致,请移步帆软社区提问:问答



目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0-

1.2 预期效果

当报表单元格的数据来源于数据集的两个数据列时,如何设置呢,如下,实现用户名和姓名拼接的效果。

image.png

1.3 实现思路

1)将两列数据分别放在单元格中,再通过公式将它们拼接起来。

2)通过设置数据列的高级显示值来改变显示效果

3)在 SQL 中处理。

2. 示例编辑

新建数据集查询ds1:SELECT * FROM user,如下图所示:

image.png

2.1 方式一:公式处理

1)报表设计如下:

image.png

2)在密码前面插入一列,C2的公式为A2+"-"+B2 或者 CONCATENATE(A2,"-",B2),如下图所示:

image.png

3)隐藏A列和B列

2.2 方式二:设置高级显示值

1)报表设计如下,A2单元格放入user字段(其他任意字段也可以)

image.png

2)选中A2单元格,设置高级显示值,公式为user+"-"+name 或者 CONCATENATE(user,"-",name),如下图所示:

2.3 方式三:在SQL中处理

1)ds1数据集修改为 SELECT user||'-'||name as username,password,position,area FROM user,如下图所示:

image.png

2)将对应数据项拖到单元格中即可。

2.4 效果预览

2.4.1 PC端

image.png

2.4.2 移动端

image.png

3. 模板下载编辑

4. 注意事项编辑

方式三中的 SQL 是 SQLite 数据库的语法,若是其他数据库,应当做相应的修改。

下面列举三大主流数据库的处理方式

1)Oracle 的拼接与 SQLite 的一致

SELECT user||'-'||name as username,password,position,area FROM user

2)SQL Server 使用+号进行拼接

SELECT user+'-'+name as username,password,position,area FROM user

3)MySQL 使用 concat 函数进行拼接

SELECT concat(user,'-',name) as username,password,position,area FROM user