1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
1.2 预期效果
当报表单元格的数据来源于数据集的两个数据列时,如何设置呢,如下,实现用户名和姓名拼接的效果。
1.3 实现思路
1)将两列数据分别放在单元格中,再通过公式将它们拼接起来。
2)通过设置数据列的高级显示值来改变显示效果
3)在 SQL 中处理。
2. 示例
新建数据集查询ds1:SELECT * FROM user,如下图所示:
2.1 方式一:公式处理
1)报表设计如下:
2)在密码前面插入一列,C2的公式为A2+"-"+B2 或者 CONCATENATE(A2,"-",B2),如下图所示:
3)隐藏A列和B列
2.2 方式二:设置高级显示值
1)报表设计如下,A2单元格放入user字段(其他任意字段也可以)
2)选中A2单元格,设置高级显示值,公式为user+"-"+name 或者 CONCATENATE(user,"-",name),如下图所示:
2.3 方式三:在SQL中处理
1)ds1数据集修改为 SELECT user||'-'||name as username,password,position,area FROM user,如下图所示:
2)将对应数据项拖到单元格中即可。
2.4 效果预览
2.4.1 PC端
2.4.2 移动端
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