报表工程师标准版-序章

楼主
我是社区第266033位番薯,欢迎点我头像关注我哦~

疫情大屏制作流程

数据库连接

  • 数据库文件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[widgetname=REPORT3]").find(".frozen-north").css({

'overflow-x':'hidden',

'overflow-y':'hidden'

});

$("div[widgetname=REPORT3]").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

  • 选择力学气泡图类型,配置数据集【省市历史数据】,分类选择城市,字段名为确诊数,汇总方式为最后一个,本表为累计数据,最后一个值为最新累计值。
  • 系列属性根据值进行合适分组,气泡半径大小进行调整,美观布局。

C:\Users\DELL\AppData\Local\Temp\1657959549(1).png

谣言与辟谣功能实现

  • 数据集查询语句:

SELECT * FROM 疫情辟谣信息

  • 绘制表格:父子格设置、边框格式设置以及字体格式设置
  • 跑马灯效果:参考【疫情详情】的JS代码

湖北省新型冠状病毒确诊病例统计表功能实现

  • 数据集查询语句:参考【疫情重点区域】采用的是省市历史数据
  • 折线图数据集配置后,将分类设置为date,字段名分别设置为确诊数、死亡数、治愈数,汇总方式修改为求和
  • 修改图例位置和系列颜色属性,分别设置为红色、灰色和绿色
  • 背景属性绘图区的网格线选择为无

新型冠状肺炎病例分布示意图功能实现

  • 数据集查询语句:

# 疫情市实时数据

SELECT * FROM 疫情市实时数据

# 省市实时数据参考【疫情详情】数据集

  • 钻取地图类型属性设置:GIS图层选择无,缩放等级和中心点自定义设计
  • 数据数据,第一层选择省市实时数据集,字段名分别添加确诊数、死亡数和治愈数,汇总方式为求和;第二次选择疫情市实时数据集,字段名分别添加确诊人数、死亡人数和治愈人数,汇总方式求和
  • 系列属性颜色为区域渐变色,分别设置合适的区间,图例显示取消。

疫情大屏最终制作效果展示

分享扩散:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 1关注人数 2388浏览人数
最后回复于:2022-7-16 20:22

返回顶部 返回列表