我是一个毕业两年的90后,毕业后在一个主营粮食交易的企业工作,岗位的主要工作就是制作各类数据统计报表、台账、数据图表等等,各类的日报,每天都要做一遍,此外还有什么周报月报……

之前在这个岗位的同事,每天至少要花好几个小时去折腾Excel,用数据透视表、vlookup等等各类函数去做出一份有3000多个数据的日报。如果领导临时安排什么工作的话,那就要加班从无穷无尽的数据里找领导要的东西了。

我刚接手工作时,拿到一个70多兆的Excel文件,每次用公司发的破电脑打开就需要小二十分钟,里面存着我们近十年的采购的每一车物品的详细信息……然后里面的数据格式还都是混乱的,打个比方,比如我们有个供货商全名叫:ABCD有限责任公司,那么这个Excel中会存有:AB公司、AB有限公司、CD有限责任公司、CD责任有限公司、ACBD有限公司......不用想就知道数据清洗有多难了

更令人恐惧的是每天的日报,定期的周报、月报,要是遇上季末,周报、日报、月报、季报全撞一起,简直做表做到想自杀,辛辛苦苦加班赶出来的表,老板也不一定看

就这样,经历了噩梦般的几个月……终于在有一天,我知道了一个词:报表自动化

什么是自动化报表?

先理解一下什么是自动化,比方说以前我们造路铺砖都是用人工一块一块的铺上去,而现在都是用机器自动捡砖、铺砖,不需要人力劳动了,这就是自动化。报表自动化,顾名思义就是人不用做表,表格自动生成。就拿日报、季报来说,每天、每月的数据都需要更新,日报、月报就要重复做,如果可以通过工具或代码自动生成周报、日报,不需要人反复做表,这就是报表自动化。报表自动化的目的在于简化工作流程,减少人工介入,节省工作时间,提高工作效率。

怎么实现报表自动化

要想实现报表自动化,关键要解决两个问题,一是数据自动录入,而是报表模版自动呈现。

数据分析高手一般会选择python实现,但是对代码能力要求太高,我只能放弃,网上看别人用excel透视表做的自动化报表模版也不错,但excel没办法解决我的数据连接问题,七八个子公司的数据全叫交过来,数据口径不一,最后还是要手动导入。我又找人打听,最后发现了一个报表制作神器——FineReport

先放一张我用FineReport做的自动化报表模版,下面再给大家说说我是如何用它实现报表自动化的

取数不用愁

上面说了,我们公司有N个子公司,要月度、季度总结的时候,就要将各个子公司的销售数据先单独分析,再合并分析公司整体销售情况,所有的数据都分散在各自公司的数据系统中,查询数据需要进入不同的系统。要想把所有的数据呈现到一张表里去,不用想就知道取数工作有多么艰难。

而FineReport可以直连数据库,轻松解决取数的问题

FineReport 是纯 java 软件,跨平台兼容性很好,可以和各类业务系统进行集成。连接数据源的方式也很多,可以通过 JDBC 的方式直接连接数据库,或者通过 JNDI 的方式与应用服务器共享数据连接,也支持通过 JCO 连接 SAP 系统,需要数据时可以直接从数据库中取数,不用像Excel那样,手动从数据库中导出数据,再复制粘贴到表格中。

报表模版制作

解决了数据链接的问题,接下来就是报表模板制作,以前做表格都是用的Excel, 刚下载FineReport的时候担心学不会,但接触之后发现,它的操作其实很简单,不需要写代码,大部分的操作拖拽就可以完成。普通报表模式的界面和Excel差不多,只不过制表原理不一样:excel是对单个的单元格高进行处理,然后再下拉到数据列,而FineReport的单元格绑定的是数据字段,直接对数据字段操作

Finereport的自动化制表步骤如下:

下面做个简单的周报演示一下过程,效果图如下,选择日期框里的时间,点击查询后就可以自动跳转到当周的订单数据

第一步:建立数据链接

开设计器,在服务器>定义数据连接中定义需要连接的数据库,即可建立需要的数据连接,如下图所示:

第二步:新建数据集,报表样式设计

新建数据集,过 SQL 查询语句从连接的数据库中取数,然后设计器单元格中设计好表格样式,把数据字段拖拽到单元格中,设置好扩展关系

第三步:定义时间参数

订单明细表做好了,要生成周报,就是要对订单中的日期进行筛选,在FineReport中采用的是参数过滤的方法,把表格中需要进行筛选的字段添加参数,然后给字段相应的数据格添加过滤条件,就可以筛选出数据

我们给模版添加一个日期参数 Date ,然后把参数添加到参数面板中,把参数控件类型为日期型:

第四步:设置过滤条件

我们要对订购日期进行筛选,因此给订购日期字段所在的单元格添加过滤条件:

这样就设置好了,点击预览,一张自动化周报就做完了,可以一键输出成pdf、excel、word、图片等多个格式,还能直接邮件分享给领导

动态报表模版

上面的例子只是单个订单明细表周报,但是在实际工作中,老板想看的远远不止这一些,他可能想看地区纬度下的销售情况、某个产品的销售情况、甚至是某个门店的某个月的销售情况,这时候怎么办,一张一张做表?不,直接用FineReport做个动态报表模版,各个图表组件之间可以联动,钻取,老板想看什么都在一张报表模版中搞定:

刚才我们做订单表周报是用的是FineReport的普通报表模式,它还有一个更牛逼的决策报表模式,普通报表和excel差不多,是格子式的设计界面,而决策报表采用的是画布式的设计界面,就像一个空白的画板,你想要用哪个报表组件,就把它拖拽到画板中,然后定义各个组件数据来源,图表组件数据即可来源于数据集,也可来源于单元格。

可视化大屏

除了满足一般的自动化报表需求之外,还有一个更厉害的功能,也是最能装逼的功能,就是做可视化大屏,用Finereport的决策报表模式,可以随意布局图表组件,可以在一个页面中整合不同业务数据,展示公司的各类业务指标,多维度分析数据,比如下面的销售管理驾驶舱,老板通过一张大屏就能看到公司所有重要销售指标,掌握公司的销售情况:

总结

学会了自动化报表,现在我的周报、月报、日报只需要一键刷新就能生成,每天也有了更多的时间处理新的需求,去探索分析异常业务情况,还为公司制作了各类业务管理驾驶舱,慢慢的,我从一个不起眼的报表搬运工成为了真正的数据分析师,也渐渐找到了工作的价值。

评论或者私信我“报表”,即可获得工具地址~

摆脱了Excel重复做表,换个工具轻松实现报表自动化,涨薪三倍相关推荐

  1. 基于Excel的查表插值计算工具及算法详解

    一.基于Excel的查表插值计算工具 二维查表算法是控制器软件开发中最为基础的算法之一,同时进行二维查表计算也是标定开发过程中常见操作. 通常一维线性插值算法可以采用手工计算的方式:二维查表插值算法则 ...

  2. Excel、Python靠边站,这才是实现报表自动化最快的方法

    最近在跟隔壁部门闲聊的时候,我发现会有这样的情况.他们跟我吐槽说,每天需要花很多时间做报表,但我发现其实他们80%的报表都是机械.重复式的手工操作,最夸张的一张报表需要花两个小时才能更新完.作为报表老 ...

  3. 软件测试复现工具,鼎恒资讯:做软件测试却不知道这些测试工具?利用好可以涨薪50%...

    原标题:鼎恒资讯:做软件测试却不知道这些测试工具?利用好可以涨薪50% 都说"工欲善其事,必先利其器".做软件测试行业,怎么能缺少好用的软件测试工具呢?对于很多小伙伴,尤其是新手来 ...

  4. 从Excel中解救你!如何用Python实现报表自动化

    全文共2391字,预计学习时长14分钟 图源:morioh 工作中,无穷无尽的表格有时会令人抓狂.Excel无处不在,即便有着像Python这样的强大工具任你使用,你也难以从中逃脱. 也许你的老板和同 ...

  5. python excelwriter保存路径_从Excel中解救你!如何用Python实现报表自动化

    全文共2391字,预计学习时长14分钟 图源:morioh 工作中,无穷无尽的表格有时会令人抓狂.Excel无处不在,即便有着像Python这样的强大工具任你使用,你也难以从中逃脱. 也许你的老板和同 ...

  6. 做软件测试却不知道这些测试工具?利用好可以涨薪50%

    都说"工欲善其事,必先利其器".做软件测试行业,怎么能缺少好用的软件测试工具呢?对于很多小伙伴,尤其是新手来说,刚入行时,由于接触的工具比较少,会的工具可能也就那么几个,如果工作中 ...

  7. 软件测试资料哪个好用,做软件测试却不知道这些测试工具?利用好可以涨薪50%...

    都说"工欲善其事,必先利其器".做软件测试行业,怎么能缺少好用的软件测试工具呢?对于很多小伙伴,尤其是新手来说,刚入行时,由于接触的工具比较少,会的工具可能也就那么几个,如果工作中 ...

  8. python处理excel数据透视表_Python也能轻松做出Excel透视表的效果,一切技巧全在这里...

    此系列文章收录在公众号中:数据大宇宙 > 数据处理 >E-pd 经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死.后来才发现,原来不是 Python ...

  9. Excel VBA 做一个抽奖小工具

最新文章

  1. vmware中修改ubuntu的分辨率
  2. C# winform combobox 在绑定数据之后插入一项选择项
  3. 计算机视觉、机器学习相关领域论文和源代码大集合
  4. foobar 添加歌词插件
  5. 不知道怎么用GitHub怎么当程序员?拿出十分钟,包你会
  6. 改善CSS的10种最佳做法,帮助你从样式中获得最大的收益
  7. java lambda 变量_java – 从lambda表达式引用的局部变量必须...
  8. PHP Filter 简介
  9. 开源公司内部的微信爬虫,寻求志同道合的人一起来改进
  10. 导航背景变换 php,jQuery实现的背景动态变化导航菜单效果
  11. vite alias配置路径地址别名
  12. 课题组亓林博士的论文被 IEEE TGRS 录用
  13. 网易云音乐登录python
  14. 无法打开内核设备“\.\VMCIDev\VMX”: 操作成功完成。是否在安装 VMware Workstation 后重新引导? 模块“DevicePowerOn”启动失败。 未能启动虚拟机。
  15. 帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
  16. 你妈给你介绍对象,你说自己new一个 | 程序员母亲节快乐
  17. 【Rosalind】Rabbits and Recurrence Relations
  18. python监控文件或目录变化
  19. Jvav 调用 Conflux 智能合约
  20. 2018年物联网大数据架构演进分析

热门文章

  1. 挂载jffs2文件系统遇到的问题
  2. sql数据库性能指标_SQL Server磁盘性能指标–第2部分–其他重要的磁盘性能指标
  3. 基准风险因子暴露度_具有性能基准SQL Server索引填充因子
  4. ssis导入xml_使用XML文件配置SSIS包
  5. json序列化定义类型jsckson
  6. cs231n---CNN架构
  7. js动态生成按钮,页面用DIV简单布局2
  8. jsp内置对象*response
  9. java 控件汉字显示方格
  10. android滑动基础篇 TouchView