零基础学习FineReport的成长之路
此贴为FineReport学习班的结课作业,写之前也先拜读了下几位帆软大咖的文章,自己的想法与其相比真的是相形见绌。但是一千个人一千个哈姆雷特,我的心得体会不见得有多么高大上,但是也希望能让一小部分人引起共鸣,帮助那些学习过程想退却还再坚持的人树立信心,共同走完学习FineReport信息化的道路。
首先简单介绍下我个人是如何接触到FR的。本人本身是从事铁路行业,应路局要求需要进行大数据平台的开发,单位里信息化基础几乎为0,从刚开始连选择软件都没一点思路,到后来的听说了BI软件,BI软件确实在数据分析中有着很强的优势。然而,最先接触的BI软件并不使FineBI,因为种种原因对PowerBI的研究与开发浪费了大概一个月的时间,后来由于领导提出在线填报的具体要求,无奈只能辗转其他软件,这时候FineReport的出现无疑是解决既能分析又能填报的最还用工具。万事开头难,一方面我们在BI上浪费了不少的时间,用FR的压力就比较大,如果FR做了一个月也发现有某些解决不了的痛点难道又要换别的吗?所以,刚开始使用FR的内心是极其忐忑和迷茫的,后来的事实和经历证明,FR真的是足够强大,强大到你能想象到的功能它都可以帮你实现,即便是某些动态特效无法实现,还可以通过JS代码的方式解决大部分的高级效果,剩余再解决不了的问题,可以通过曲线救国的方式来实现。
想想刚开始学习FineReport,数据库连接、mysql下载、小皮的使用,最基础的东西就折磨了我和我同事好半天,好在有微信群里热心同事和班主任的指点(哈哈,而且发现班主任竟然也是我们铁路行业的业内人士),刚开始的痛苦随着时间的推移也就逐渐淡去。此外,我们单位的信息化做得确实差,据说好多大公司、大单位几年甚至十几年存储数据都只是用Excel表格,数据库什么的从来不用,毫无疑问,我们单位就是这样,算起来我还是单位里首次尝试将数据存储到数据库中的人。oracle、mysql、sqlite几个数据库,选择了mysql数据库,小型的百万、千万级数据应该也是够了,据说mysql不够用就换oracle。数据库定下之后,就开始了按部就班的视频学习,参数查询、图表展示、决策大屏、复杂填报等等,其中印象比较深刻的两个案例分别是万年历和考试系统,万年历通过运用层次坐标和父格的设置,神奇地通过几个单元格的拓展实现了万年历的效果,第一感觉就是很神奇吧。还有临近结业的FCRP考试系统,由此可见,其他的考试系统的原理实现也大致相当,答案、题目、选择都是分开存储到数据库中的,然后通过一定的逻辑判断算出考试者的得分。就是在将考试者的选择答案和正确答案对比的过程中比较恶心,几经测试才知道默认的多选勾选竟然是有“,”间隔的,统计分数的算法也比较新奇,包括第六次作业中的讲解,钻取图表向下钻取后的返回,确实让人感觉耳目一新。
我个人是比较懒的,整个学习的过程中一边跟着视频跟做、做作业,一遍做着单位的项目,这本来也无可厚非,后来发现如果养成一个好的学习习惯,一定要做好个人学习笔记,收集总结一些在学习过程中碰到的坑点,因为好多坑点你不是遇到一次就能记住的,很有可能你会在同一个坑里摔两次、三次,因此我再带我们单位的新学后进的过程中,积累了一部分的笔记,然而帆软的功能实在强大,帮助文档确实也能很大程度上解决很多问题,但是更多地还是需要我们自己去实践。顺便举个我们开发单位项目过程中的一个槽点,数据集查询某个字段提示unknown column,这个错误比较常见也比较好理解,就是找不到数据库中对应的列名,然而我们通过肉眼对比发现两个字段是相同的啊,去数据库里看也是一样,后来在帆软社区里提问,社区大牛测试才知道数据库中的字段字符之间是存在空格的,而且一开始我同事提问只发了截图根本看不出来,后来我传了内置数据集这才发现,因此之后大家提问最好也是附上输出内置数据的frm文件,方便大佬调试,要不也只能瞎猜,更何况碰上这种肉眼根本无法分辨的情况就更棘手了,其实说白了只是很低端的问题,但是卡住了是真的恶心。
最后总结下,信息化数智时代已经来临,同时也即将要迎来FCRP的考试,希望和我一起考试的学员们考试都能顺利通过~