11

自动出报表,零代码做驾驶舱,我到了Excel的顶级替代

 3 years ago
source link: https://zhuanlan.zhihu.com/p/298139519
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

自动出报表,零代码做驾驶舱,我到了Excel的顶级替代

数据分析不是个事儿

大家有没有觉得,做报表也不是一份性价比高的活了呢?

做了3年报表的我,从只会vlookup开始学Excel,中间也穿插学习了一些VBA和Access。原以为精通Excel可以走天下,但是越到后面越发现遇到了瓶颈。领导希望报表出的越快越好,数据不能有差错,图表要精美可视化要好看......但殊不知:

  • Excel数据处理容量和速度有限制,你给我一份100多万条的数据Excel根本放不下,而且处理速度超级慢。
  • Excel的数据可视化程度不高,都是以表格为主,数据堆砌,很难找到重点,虽然也能插入一些图表,但是灵活度和美观度不够,设置起来也相当麻烦。
  • 数据获取麻烦,每次都是从公司的系统导数据,相当费时间,而且还要经常做重复数据加工。
v2-1001ecc97717efa5327c4c719b917207_720w.jpg

前几天拿了一张驾驶舱报表问我这周能不能做出来个类似的....

深深感受到了领导日益增长的奇异想法和Excel技术的增长速度之间不匹配的矛盾。

Excel现在给我的最大痛苦就是占资源特别严重,每次都卡得要死,这好像不是堆计算机资源就能解决的问题。

其他的解决方法当然也有:

比如我是不是能改变一下我的使用习惯,减少公式的使用(自动计算很耗费资源啊),减少冗余数据的出现。

但是在excel的使用背景下,这些似乎都很难避免。所以我就想,有没有办法找到一个软件来替代excel?

在网上遍历了各种工具技术,也请教了公司管数据库的技术同事,基本就是写sql或python,或者直接用报表工具。前两者属于代码开发,但是我只懂sql,python起点太高,就主攻研究有没有专业的报表工具。找到了企业数据报表领域的“替代品”——finereport,研究并学习了一阵。

下载链接给大家放出来了:

一、操作类似Excel,但性质和原理不同,大大提升报表制作效率

finereport类似Excel的报表设计器,菜单栏、工具栏以及常用数据处理功能和函数都和Excel很像,对于有点基础的上手还蛮快的。

但是体会下来,做报表的原理以及工具性质和Excel又完全不同:

从技术上讲,Excel能直接存储数据,直接在表里对数据操作。finereport是链接数据库操作的,操作对象是数据库中的表以及数据字段,其操作过程是链接数据库,然后拖拽字段绑定单元格,做好报表模板发布到服务器,在网页上展示。

用Excel性能上依靠你的电脑,所以数据量大容易崩溃;后者性能依靠服务器、数据库之类,电脑上纯粹是一个中间操作过程,所以性能不是一个量级的。

整个过程体验下来有很多专业的功能,比传统的Excel要省时省力得多,但是要学习和适应。比如连接数据源,不需要像在SQL数据库中那样写很多代码,直接拖字段。比如环比、同期比等公式,都是内置好的,不需要像Excel中那样手动输入公式。

就报表制作来看,分为三类专业的报表设计方式

一种是普通报表,和Excel操作差不多,报表展现的时候是依靠着单元格的扩展与父子格的关系来实现数据的扩展。用它可以做各种展现类的复杂报表、票据套打报表、各种查询类报表、填报报表...

第二种是聚合报表,截了张官方图,就是报表里面有很多种报表块,每一块都类似一张单独的报表或者一张图表。通过不同的表格块来拼接形成一个复杂的大报表,同时块与块之间的扩展、行高、列宽不互相影响,典型的就是财务里或者货单中常见的不规则报表

还有一种决策报表,重可视化,类似于BI做可视化,拖拽图表和表格来做可视化报表,专门做驾驶舱一类的报表,比如上述我领导要的大屏估计就是用这种方式来制作的。

相比较Excel而言,只能说人家是真的专门做报表的,一个是专业工具,一个是日常办公通用工具。

二、填报是亮点,解决数据交互的心病

之前我做报表汇总的时候,总是等各方数据都传到数据库中,再让技术把数据导出来,很多时间都费在沟通和等数据上。另外,每次打开20多个Excel我的电脑基本风扇就在呼呼响,所以当时希望有什么脚本能替我把这事给自动干了。

这个在FineReport的使用过程中也找到了替代,刚才有提到可以做填报报表。我让技术帮我把finereport和数据库做了连接,然后我在设计器做好了日常汇总数据的模板发给各业务员,他们把Excel导进去,数据被校验后就进入了数据库。

而我作为汇总端,另外一张查询模板,按照平常汇总的固定格式设计,直接一件查询就出来了数据。当然我也不是没花功夫,前期做了两张模板、绑定好数据字段,编辑数据格式,导致后续只要做导入Excel和查询报表两件事即可,一劳永逸。

三、可视化交互比较惊艳

可视化这块我没有做太多尝试,技术还没有学到位,只是试着拖了几个图表,操作还是很简单的,拖拽图标——绑定数据字段——设置数据展现格式。

领导驾驶舱,做各种dashboard。

还有动态报表,数据可做钻取和联动,比如点击地区钻取到省市,同时其他组件联动由全国数据变更成省市数据,功能还是很强大的。

v2-59f8a50b8f1f086eabfa91fca36420ac_b.jpg

相比于Excel,个人使用下来总结一些感受差异。

在企业报表领域是可以完全替代的,配合着数据库,基本能开发公司大大小小的各种专业报表,这里的报表不仅仅是Excel报表,包括一些数据录入、出入库凭证、财务套打类报表、管理驾驶舱等等,基本都是技术和IT的报表开发者使用,毕竟需要点技术的。

但两者无法直接比较,毕竟性质不同,Excel能存储数据、处理数据、展示数据,基本能解决各种问题,但是越刁钻的需求要求的技能也越高,对性能要求越高就不是简单一个本地Excel就能解决的,需要上到数据库、服务器。

具体这里罗列的测评细节,和技术同事评估后,大家可以看下

1、报表数据的统一管理

用Exce整理数据其实有很多问题:数据散落在每个人的电脑里,每次收集都是邮件或者群里@XXX,很手工,然后数据有问题又要打回重来,费时间费人力,数据可能还不同意。如果能上到数据库和finereport这样的报表工具,能统一线上部署,数据统一存储在数据库中,数据及时导入不会丢失,规定好了校验格式也可以避免数据对不上的问题,可以实现数据的实时展现。

2、线上填报

使用excel进行数据的汇总,需要通过邮件或者其他形式讲excel表格发给统一收取数据的人员,流程复杂,工作量大,而使用finereport的填报功能,只需要在web端进行填报即可讲数据汇总到数据库,避免了excel的传来传去。

3、大数据量的支持

一般而言,如果你的Excel工作表在一个月之内就可能突破10000条记录的话,这个时候建议用数据库产品,尽管在Excel和数据库之间可以进行数据转换,但是当Excel的数据量过大的时候,它的查询和计算的速度会明显下降。比如:一个小小的超市,10名收款柜台员每天接待200人每人10件商品,Excel立马倒下,根本不能施展手脚。finereport支持大数据量,单次取几十万的数据量是绝对没什么问题的。

4、避免重复劳动

我所在的部门只是公司的一小支,基本每个部门都有一两个专职做报表的,基本都采用excel各自统计和汇总数据,如果上了报表工具,相同报表可以简单复用,一张报表做好后,其他部门直接用就可以了,维护起来也非常方便,只需要改这张报表就好可以实现所有报表的统一维护了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK