FineReport自学习题——图表热点链接

题目

模板效果:
主模板:
在这里插入图片描述
点击图表某个区域则跳转至子模板:
在这里插入图片描述
实现功能:

  • 热点链接
  • 子模板动态显示表头
  • 子模板中以60分作为警戒线

使用数据:

  • FRDemo中的Stscore表

思路

纯粹使用软件功能,没什么技巧可言。创建主副模板,主模板附带班级总平均分信息,副模板附带一个以班级号为查询条件的班级均分数据集,根据主模板链接传递过来的参数动态显示标题并查询相关数据。
在图表方面,由于10.0版本找不到3D饼图,所以只能用普通饼图替代,但效果一样。主模板的饼图附带超级链接,可以通过点击扇形区域向下钻取班级均分数据;副模板的柱状图以科目为分类依据,在60分的位置上拉起警戒线。
所以本题唯一的难点就在于如何设置饼图的超链接,在这里,我们要利用“特效”中“交互属性”的“超级链接”完成这一功能,而不能使用图表的超级链接,接下来我会解释二者的区别。

过程

1、创建主副模板,经过前几道题的训练我想这已经不是什么问题了,故在此不做赘述。两个模板创建好之后,应该要有以下两个数据集:

-- 主模板“图表热点链接”的数据集“各班平均成绩表”
SELECT		CLASSNO,
			AVG(GRADE) AS 'SCORE'
FROM 		STSCORE
GROUP BY 	CLASSNO;

-- 副模板“各班平均成绩汇总表”的数据集“班级平均成绩汇总表”
SELECT		CLASSNO,
			COURSE, 
			AVG(GRADE) AS 'SCORE'
FROM 		STSCORE
WHERE		CLASSNO = '${_CLASSNO}'
GROUP BY 	COURSE;

表格的设计没有难点,设计过程不做演示,设计好之后的表格应该是这样的:
在这里插入图片描述
主模板表格如上
在这里插入图片描述
副模板如上
注意各数据列所在的单元格坐标,接下来要用。

2、打开主模板,在表格右侧合并一片区域插入饼图。图表的建立可以参考另一篇文章:FineReport自学习题第四题——图表
在这里插入图片描述
设计好之后,我们需要设置饼图的分类值、系列名与系列值。
在这里插入图片描述

3、打开右侧侧边栏的 “单元格格式” ,选择 “特效”,在下方的 “交互属性” 栏中找到 “超级链接”
在这里插入图片描述
此处的超级链接和侧边栏中的超级链接有着很大的差别。常规的超级链接是针对整个元素而言的,类似于“通用”链接。而交互属性中的链接则于元素内部有关,在这个类型的超链接中,我们可以绑定更多类型的参数值。
在本案例中,我们需要点击扇形区域传递参数跳转至副模板中,使用传统的超链接手段仅能实现通过图表跳转,无法传递我们需要的参数。所以:我们要在交互属性中设计超链接:
点击添加链接,选择 “网络报表”,以副模板为跳转目标,打开方式和参数传递方式不做修改。
点击下方的“+”号添加参数,写上参数名(要与副模板中的参数名一致),参数值类型选择 “系列名称”
在这里插入图片描述
其实我们可以仔细观察下参数值来源,相比于常规型的链接参数值,饼图的参数值还多了三个来源:“系列名称”、“分类名”、“值(系列值)”。从超级链接在不同的元素中还可以有多种特殊的参数来源,如果是柱状图的话,这里还会有“分类数组”作为值来源。
不过说个题外话,类似于超级链接这样针对不同场景进行扩展的特性很值得学习。先设计一种基本的超级链接类,不同的图表针对该类又有各自的扩展,提高了代码的利用率。我想这应该算是一种对多态的实现吧。
4、链接设定完毕后我们就可以看看效果了
点击扇形区域:
在这里插入图片描述
我们就可以跳转到副模板查看对应班级的数据了:
在这里插入图片描述
柱状图的警戒线很好设置,选中柱状图后,在“单元格元素”中选择“样式 - 背景 - 绘图区”,就可以找到警戒线的设置了。

总结

这次的题目解释没有讲的很详细,大多数内容(诸如表格设计、图表设计什么的)都是之前常用的内容,有疑惑的可以参考我过去的博客。重点放在了如何设计图表的超级链接上,官方帮助文档并没有提到超级链接对不同的图表会有不同的效果(至少我翻了老半天都没找到),不过我倒是在 “根据参数动态显示地图区域” 这一章中找到了相关内容,有兴趣的朋友可以去看看。

  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
FineReport是一款强大的企业报表与数据析软件,可以帮助用户快速、高效地生成各种类型的报表。作为一款自主开发的BI工具,FineReport拥有众多的功能和特点。 首先,FineReport具有丰富的数据连接能力。它可以连接各种数据库,如MySQL、Oracle等,并且支持Excel、CSV等文件的导入。用户可以通过简单的配置,直接从数据源获取数据,无需编写繁杂的SQL语句。同时,FineReport还支持数据透视表和交叉报表等高级数据功能,帮助用户更好地理解和展现数据。 其次,FineReport具有灵活的报表设计能力。用户可以通过拖拽和放置的方式,在界面中添加各种图表、表格、文字等元素,灵活布局报表的样式。而且,FineReport还提供了丰富的样式和主题模板,用户可以根据自己的需求进行设置,让报表更加美观大方。 另外,FineReport还具有强大的数据处理和数据析能力。用户可以通过定义各种计算公式、条件筛选、排序等操作,对数据进行灵活处理和析,实现更加精确的数据展示。同时,FineReport还支持多维度数据析和数据切片等功能,可以帮助用户更全面地了解数据的背后含义。 总之,FineReport作为一款强大的企业报表与数据析软件,具有丰富的数据连接、灵活的报表设计和强大的数据处理能力。它可以帮助用户高效快速地生成各种类型的报表,并且满足不同用户的数据析需求。无论是企业的财务报表、销售数据析还是人力资源统计等,FineReport都能提供强有力的支持。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值