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

目录:

1. 概述编辑

1.1 版本

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

image.png

1.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)

image.png

2.3 方式三:在sql中处理

1)ds1数据集修改为 SELECT user||'-'||name as username,password,position,area FROM user

image.png

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

2.4 效果预览

PC端:

image.png

移动端:

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