帆软report-全流程

一、创建一个简单报表的过程

1、定义取数数据源-即定义数据库连接

例如Mysql数据库可以使用如下方式进行连接

2、定义数据集(模版数据集、服务器数据集)

其中模版数据集针对模版内部使用,不能在多个模版之间通用

而服务器数据集可以在多个模版之间通用

3、制作报表

按照想制作报表的样式,制作报表(表格或者图形)

其中图形的数据集在如下界面配置(以及相关其他的配置)

4、保存预览报表

二、制作三线表格(四线等等)

如下图呈现形式:

在如下图处选择三线图

每分一个都要用  | 分隔开来

三、筛选框-对表格进行筛选(重点)

背景:如下方表格

要求:设置两个下拉筛选框,分别对地区以及销售员进行筛选

如图格式:

下面以两种方式进行呈现分别为单选以及多选

1、单选

        (1)设置基本的筛选框模式,如下图:

从红色部分处拉出查询按钮,这是每个筛选框处都要有的

从绿色部分拉出文本框,以此对后面从蓝色部分拉出的单选框做解释

(2)配置筛选框的内部值

                    首先对于文本框

首先在红色处对我们的控件进行取名,然后在蓝色处对我们控件所要显示的值进行设置

                接着对于单选框

首先对控件进行取名(后续在主表的sql中我们会引用这个控件名)

接着填写控件的值,这里我们是对每个空间筛选做了一张维度表,以地区为例

维度表如下:

按照字段填入地区维度表,并选择地区字段

接着筛选数据字典(这里选择数据查询)

(3)配置主表的参数,引用2中设置的下拉空间的控件名

select *  from 销量  
where 1=1

${if(len(地区筛选框)==0,"","and 地区 in('"+地区筛选框+"') ")}
${if(len(销售员筛选框)==0,"","and 销售员 in('"+销售员筛选框+"') ")}


/*

以地区为例,这里的实际意思是如果我们筛选地区,执行的sql为
select *  from 销量  
where 1=1
and 地区 in('地区筛选框')
若不筛选则执行的sql为
select *  from 销量  
where 1=1
所以 本质是 是否拼接  and 地区 in('地区筛选框')

*/
(4)完成配置进行页面查看

2、多选框

多选框 和单选框的区别就在于,在设置多选框控件后要在多选框如下图处设置,返回类型

其它无差异

四、上父格与左父格

如下图:展示每个订单信息都随着订单编号向下扩展

也就是我们在设置每个筛选框都要以订单id为父格进行筛选

注意:上父格的设置,是受单元格限制的,也就是只有相邻的单元格并且是上下关系,才可以设置上下父格关系

但是左父格的设置不受单元格限制,可以跨行、跨列设置;

因此在此项要求中,我们将每个需要随着订单id扩展的数据,左父格均设置订单id

(下图只展示了其中一个的设置)

五、图与图的联动设置

如上图当我们点击柱形图的相关地区时,另外两张图也要联动相关的的地区信息

设置如下

1、在 要被联动的图形的数据集里填写相应的连接参数,例如在饼图中:

select 
 t4.类别名称  as 类别名称
 ,round(sum(t1.应付金额),2)  as 应付金额
from
订单 t1
left join 订单明细 t2
on t1.订单id = t2.订单id
left join 产品 t3
on t2.产品id=t3.产品id
left join 产品类别 t4
on t3.类别id = t4.类别id
where 货主地区 = '${area}'
group by 
t4.类别名称

2、在要联动别的图的主表中(这里是柱形图),如下处进行相关设置:

在如上,点击添加链接

完成联动设置!

六、筛选框处---文本参数设置

如下图:要求在文本框处填写数字筛选出相应的数据条数

1、设置筛选框

给文本框取上相应的控件名

2、设置筛选的sql

select * from 销量
${if(len(limit_c)==0,"","limit ('"+limit_c+"')")}


/*select * from 销量
${if(len(limit_c)==0,"","limit ('"+limit_c+"')")}
若不填写则执行的sql为

select *  from 销量 
 
若填写
则执行的sql为

select * from 销量 
limit (limit_c)

所以 本质是 是否拼接  limit (limit_c)

*/

七、设置排序

1、在页面处进行选择排序

点击要排序的字段选择超级链接,选择+号,添加动态参数

设置参数的名字以及要传入的值,因为排序分升序、降序,这里我们设置两个动态参数

参数名都为paixu、但是一个传asc  一个传desc

接着在sql中,添加接受参数的语句

select * from 销量
order by 销量 ${paixu}
${if(len(limit_c)==0,"","limit ('"+limit_c+"')")}

 完成设置!!

2、设置一个筛选框进行排序,传参

如图设置一个筛选框

设置筛选框控件名,并为其添加数据字典

同理,更改sql接收参数

select * from 销量
order by 销量 ${choice}
${if(len(limit_c)==0,"","limit ('"+limit_c+"')")}

完成设置!!!

八、表格联动图

1、在需要被连接的图的数据集填写参数

如下图要用表格联动柱形图,则在柱形图的数据集中写参数

select *   from  销量
where 1=1
${if(len(area)==0,"","and 地区 in ('"+area+"')")}

2、在需要去联动的表格处 添加动态参数

如图我们是要用表格的地区去联动柱形图,我们选择表格的地区数据的单元格处的超链接,然后点击加号

添加动态参数

输入我们在1中数据集中写的参数,然后值处我们选择公式  填写三个$(代表传递本单元格的值给这个参数)

3、页面浏览

保存我们页面浏览

发现地区都已被加深蓝色,我们点击其中一个地区,发现联动成功

九、表格联动悬浮图

同 在 八中的操作,悬浮图其实也是图(柱形图,饼图等)

所以我们也要先在图所基于的数据集中填写相应的联动参数

这里我们取八中的图所依赖的数据集做演示

1、在要去联动的悬浮图数据集中填写参数

2、配置悬浮图

选择我们需要去联动悬浮图的单元格,这里是表格中的地区

然后同理点击超链接,点击加号

选择悬浮窗图标

在弹出的图表设计中

首先点击超链,在参数处,同理填写我们设置的参数,值选择公式 并填写三个$

接着在数据处,配置图的数据来源

然后其他的就是一些关于图的设置,这里不做赘述了

3、页面浏览

上述配置完成后,我们浏览页面,选择我们的联动悬浮窗发现成功

十、填报报表

以下我们以订单表填报展示一下填报流程

1、设置填报表格(就像普通表格一样)这里我们选择订单表5个字段为例

2、为我们填报每个字段设置其对应的数据格式

例如 对于订单id,我们可以设置其为文本

对于订购日期等我们可以设置为日期

具体设置处如图

注意,对于订单id,其应为填报表的主键,在具体的业务过程中,其不能也不可能为空,为避免业务操作过程中误填空,所以我们需要对其设置,不允许为空

3、设置填报属性

填报属性在如图处

(1)点击内置sql

(2)选择智能提交,并选择填报的数据库和表

(3)点击智能添加字段,选择我们需要填报的字段

(4)点击智能添加单元格,为每个字段填写报表里对应的的单元格值

 (5)勾选主键,勾选未修改不更新

4、测试填报

(1)选择填报预览

(2)发现报表如下,并且报表可以进行修改,修改的数据左上角会有红色标记

(3)测试下填报功能,我们选择增加数据

填写相应的数据

 然后点击数据校验,右边出现校验成功

接着点击提交

(4)验证添加的数据是否成功

我们在订单表中查询我们刚刚添加订单

填报成功!!

十一、表格斑马条纹设置

我们以 十 中的填报表格为例,给订单编号每隔一行添加一个蓝色背景底纹

1、选择我们要操作的字段,选择条件属性,点击+号

2、点击+号,选择背景

3、选择背景的颜色,同时我们也可以在这里选择是作用于只是这个单元格(字段),还是整行、或者列,这里我们选择当前单元格

4、填写填充背景的逻辑,我们是每隔一行加一个背景

如下填写公式,并增加

5、预览效果

预览发现成功

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值