本文为第三方解决方案或非产品相关操作指南,仅提供给具备自主开发能力的用户使用。
帆软技术支持专注于产品本身的功能和问题,不负责本文档的维护和使用问题解答。
若您的场景方案与文档不完全一致,请移步帆软社区提问:问答
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