美文网首页
为什么说当前报表开发的工作量主要在数据源环节?又如何解决呢?

为什么说当前报表开发的工作量主要在数据源环节?又如何解决呢?

作者: 心宇gxy | 来源:发表于2020-07-07 10:08 被阅读0次

我们知道,报表开发主要有两个阶段。

第一阶段:数据准备。将原始数据加工成报表需要的结果集(数据源);

第二阶段:数据呈现。根据已准备的结果集(数据源)编写表达式将数据以表格或图形方式呈现。

这两个阶段虽然处于同一报表开发过程,但实现方式却大不相同。

通常原始数据距离报表“能用”还相去甚远,通过 SQL/JAVA/ 存储过程等编码方式准备报表可用的数据源是第一阶段的目标,过程中可能涉及复杂的数据处理过程,因而这个阶段会牵扯较多的精力,占用的工作量也多。

数据源准备好后,通过报表工具来解决数据以何种方式(图表)、何种样式(外观)呈现的问题,通过点选设置、编写少量表达式就可以快速完成,实现简单,占用的工作量也少。

可以说,报表开发的工作量主要在数据处理(计算),数据处理后如何呈现,通过工具可以快速完成。

那是不是报表呈现阶段就不涉及数据处理了呢?

并不完全是这样。

早期报表开发

大概 2015 年以前,报表呈现方式主要以表格(或图表混合)为主,这时通过报表工具实现时就会涉及一定的数据计算,如分组汇总、多源分片、格间计算(同比环比)等。如下图所示:

计算分布在数据准备和数据呈现两个阶段,两个阶段的工作量相当(各占 50%)。这个时期,数据准备阶段可以把数据准备得“粗糙”一些,然后利用报表工具的计算能力在呈现阶段将数据进一步加工成目标结果进行呈现。比如,我们在数据准备阶段完成关联过滤,再在报表呈现模板中按多个维度分组汇总;或者在呈现模板中计算同比环比。

当前报表开发

随着报表工具的逐渐成熟,报表工具提供了更丰富的图形(类型和效果),报表选择图形呈现几乎与表格占比相当了(占比仍在增长)

使用图形呈现,由于没有“格子”,就无法利用报表工具的计算能力在呈现模板中完成数据处理,而图形本身并不具备计算能力(不包括硬编码),这时自然而然就要在数据准备阶段将前端需要的数据完全准备好,前端工具接收数据直接图形呈现。

图形设置基本没什么工作量,而后端数据源的准备工作就占了大头,数据呈现和数据准备所占的工作量占比约为 20%:80%。

当前报表开发的工作量主要在数据源端(数据准备阶段),要提升报表开发效率,势必要解决报表数据源准备效率问题。这也是为什么很多时候用上了一流的报表工具,但报表开发的工作量仍然很大的原因。

如何提升报表数据源端的开发效率,从而整体降低报表开发工作量?

借鉴报表开发的发展历史,或许可以获得一些思路。

早期,报表开发靠完全硬编码,无论数据准备还是报表呈现,后来报表工具出现替代了硬编码方式,将报表呈现阶段的开发工具化,解放了报表呈现阶段的人力(你可以感受一下写代码画报表比用工具做麻烦多少)。

按照这个思路,用工具替代硬编码就可以提高生产效率,将数据准备阶段工具化就可以解决报表数据源的开发效率,从而进一步提升报表整体开发效率。

数据准备工具可以是独立的,也可以包含在报表工具内部,后者要求报表工具的能力能够延伸到数据源层面。在选择报表工具时,不妨多考察一下工具的数据处理能力。

参考资料:

【数据蒋堂】第 10 期:报表的数据计算层

如何应对报表开发中的复杂逻辑

相关文章

  • 为什么说当前报表开发的工作量主要在数据源环节?又如何解决呢?

    我们知道,报表开发主要有两个阶段。 第一阶段:数据准备。将原始数据加工成报表需要的结果集(数据源); 第二阶段:数...

  • BIRT报表

    1、添加数据源相关依赖包 2、报表开发设计 调出报表相关工具 数据源配置 创建报表显示数据 编写sql 如选择da...

  • 什么是报表的多样性数据源问题?如何解决?

    在报表开发早期,报表连接的数据源基本只有关系数据库,而且经常只有一种或者只有一个数据库。 但今天就不一样了,数据源...

  • Java | MyBatis 配置多数据源

    前言 在开发一些报表项目时,很容易涉及到从多个数据源获取数据,这里介绍一下如何给 Mybatis 在配置多数据源....

  • mybatis多数据源配置

    本文主要讲mybatis数据多数据源配置,为什么需要讲多数据源配置呢?假如我们遇到了一种场景,我们在一个服务或...

  • Hibernate框架配置流程 (myEclipse版本)

    一、创建数据源 1.创建数据源的原因 为什么要创建数据源?在实际开发过程中,数据库肯定有专人管理,而不是开发人员管...

  • 课程开发问题

    当前的主要问题是如何理顺课程开发的事。要推广了,你让孩子们来学什么东西呢?主要解决这个问题。 公众号里面的功能,主...

  • 敏捷开发中的信心投票

    在SAFe中,每次PI Planning的最后一个环节,就是使用五指投票法,评估下完成当前PI工作量的信心,具体做...

  • 「大数据」02大数据技术体系

    从数据在信息系统中的生命周期看,大数据从数据源开始,经过分析、挖掘到最终环节获得价值一般需要经过6个主要环节:数据...

  • 报表工具怎样适应移动端?

    报表在移动端展示会跟 PC 端有所不同,主要是因为终端分辨率的差异。我们在使用报表工具开发报表时如何才能适应移动端...

网友评论

      本文标题:为什么说当前报表开发的工作量主要在数据源环节?又如何解决呢?

      本文链接:https://www.haomeiwen.com/subject/uvtaqktx.html