报表工程师标准版-序章
疫情大屏制作流程
数据库连接
数据库文件chapter0.db移到FineReport安装路径下D:\FineReport_11.0\webapps\webroot\help,为了更好的组织日后作业的数据库,新建一个coursedb目录,将chapter0.db移入此目录。
设计器菜单栏中的【服务器】【定义数据连接】,新建JDBC连接,重命名为chapter0。数据库选择SQLite;URL设置为:jdbc:sqlite://${ENV_HOME}/../help/coursedb/chapter0.db;测试连接。
预览chapter0.db中的数据信息
大屏布局设计
本次主要为了复现课程案例,则采用课程提供的设计原图FineReport_standard
数据集提取
FineReport设计器布局实现
标题板块功能实现
本功能实现分别利用了单元格插入图片、单元格边框设置、单元格合并以及文本录入等
公式编辑输入标题名称
疫情简介功能实现
单元格插入图片
单元格录入文本,“\n”换行符实现文本换行
优化布局:对字体大小、行高和列宽通过数值统一化调整
累计情况功能实现
数据集查询语句:SELECT * FROM data_area,数据集命名为中国实时数据
绘制表格,拖入对应字段
美化布局:确诊数为红色;死亡数为灰色;治愈数为绿色
疫情详情功能实现
数据集查询语句:
SELECT
hist_data_china.ProvinceName AS 省份,
hist_data_china.CityName AS 城市,
max( hist_data_china.CityConfirm ) AS 确诊数,
hist_data_china.CityHeal AS 死亡数,
hist_data_china.CityDead AS 治愈数,
tab.date
FROM
( SELECT DISTINCT ProvinceName, CityName, max( date( UpdateTime ) ) AS date FROM hist_data_china GROUP BY CityName ORDER BY date ) AS tab,
hist_data_china
WHERE
tab.ProvinceName = hist_data_china.ProvinceName
AND tab.CityName = hist_data_china.CityName
AND date( hist_data_china.UpdateTime ) = tab.date
GROUP BY
hist_data_china.ProvinceName,
hist_data_china.CityName,
tab.date
绘制表格:输入表头设置下边框格式,拖拽相应字段。
隔行变色效果:添加条件属性,背景色浅蓝色,公式输入变色逻辑:
// 偶数行背景变色,行号从0开始
row() % 2 = 0
跑马灯效果:由于使用的是FineReport 11.0版本,课程提供的JS代码无法运行,自行查找帮助文档获取新的JS代码:
setTimeout(function() {
// 隐藏报表块report0的滚动条(此报表块名为report0,根据具体情况修改)
$("div").find(".frozen-north").css({
'overflow-x':'hidden',
'overflow-y':'hidden'
});
$("div").find(".frozen-center").css({
'overflow-x':'hidden',
'overflow-y':'hidden'
});
_g().getWidgetByName('report3').startMarquee()
},1000);
效果展示
疫情重点区域功能实现
数据集查询语句:
SELECT
hist_data_china.ProvinceName AS 省份,
hist_data_china.CityName AS 城市,
max( hist_data_china.CityConfirm ) AS 确诊数,
hist_data_china.CityHeal AS 死亡数,
hist_data_china.CityDead AS 治愈数,
tab.date
FROM
( SELECT DISTINCT ProvinceName, CityName, date( UpdateTime ) AS date FROM hist_data_china WHERE date( UpdateTime ) != "${=today()}" ORDER BY date ) AS tab,
hist_data_china
WHERE
tab.ProvinceName = hist_data_china.ProvinceName
AND tab.CityName = hist_data_china.CityName
AND hist_data_china.ProvinceName = "湖北省"
AND date( hist_data_china.UpdateTime ) = tab.date
GROUP BY
hist_data_china.ProvinceName,
hist_data_china.CityName,
tab.date
ORDER BY
date
选择力学气泡图类型,配置数据集【省市历史数据】,分类选择城市,字段名为确诊数,汇总方式为最后一个,本表为累计数据,最后一个值为最新累计值。
系列属性根据值进行合适分组,气泡半径大小进行调整,美观布局。
谣言与辟谣功能实现
数据集查询语句:
SELECT * FROM 疫情辟谣信息
绘制表格:父子格设置、边框格式设置以及字体格式设置
跑马灯效果:参考【疫情详情】的JS代码
湖北省新型冠状病毒确诊病例统计表功能实现
数据集查询语句:参考【疫情重点区域】采用的是省市历史数据
折线图数据集配置后,将分类设置为date,字段名分别设置为确诊数、死亡数、治愈数,汇总方式修改为求和
修改图例位置和系列颜色属性,分别设置为红色、灰色和绿色
背景属性绘图区的网格线选择为无
新型冠状肺炎病例分布示意图功能实现
数据集查询语句:
# 疫情市实时数据
SELECT * FROM 疫情市实时数据
# 省市实时数据参考【疫情详情】数据集
钻取地图类型属性设置:GIS图层选择无,缩放等级和中心点自定义设计
数据数据,第一层选择省市实时数据集,字段名分别添加确诊数、死亡数和治愈数,汇总方式为求和;第二次选择疫情市实时数据集,字段名分别添加确诊人数、死亡人数和治愈人数,汇总方式求和
系列属性颜色为区域渐变色,分别设置合适的区间,图例显示取消。
疫情大屏最终制作效果展示