数字化过程-报表

99 阅读7分钟

最近公司(广东祥和)要开发一些报表,寻思着既然要做,就把相关的概念都捋顺了解清楚,既要能提出方案,也要能有落地和实现方案。

报表定义:是一种以结构化形式呈现数据和信息的文档或视觉展示形式。它通过表格、图表、图像和文字等元素,将数据清晰地传达给用户,并帮助他们理解和分析数据。报表通常用于汇总和展示大量数据的概览、趋势、统计信息和关键指标,以便支持决策制定、监控业务绩效和发现洞察。由于商业活动中起着重要作用,也称为商业报表

报表和BI有何区别?

最主要在于:报表工具偏向数据展示,BI工具偏向数据分析。

报表工具:侧重做复杂但固定的数据展示。    
BI工具:侧重让不懂技术的业务人员做数据分析,让其自行完成简单报表/数据仪表盘的制作。

BI建设思路:

先建设信息化系统沉淀业务数据
利用报表工具整合数据
建设/使用BI工具

报表分类

1、按用途分:记录报表、计算报表、参考报表、统计报表

记录报表指的是用来提示使用者保存原始的正式记录的文档,这种报表通常包括财务报表、进销存台账、库存记录、付款凭证等,它们被用来档案以及汇总报表的准备。记录报表是商业活动中保持账目完整的关键,也是财务管理决策的重要依据。
计算报表是一种用来汇总数据并分析它们的工具,常用来展示有关现金流量和收入支出等经济状况的信息。它们通常由日常报表和月度报表组成,主要由三大部分和各种细分报表组成,分别是非财务报表、财务报表和财务分析报表。
参考报表指的是用来帮助使用者了解有关某一特定科目的报表。这类报表包括科目总账、损益表、资产负债表和现金流量表。
统计报表指的是利用统计数据拼装而成的报表,它反映了不同时期下各种商业行为的情况。

2、从技术实现角度,报表可以分为以下几类:

A、静态报表:静态报表是指在生成后不再改变内容或格式的报表。它们通常以固定格式和布局展示数据,不具备交互功能。实现方式包括:
   - 电子表格软件:使用工具如Microsoft Excel或Google Sheets创建和格式化报表,然后将数据填充到相应单元格中。
   - 报表生成工具:使用专门的报表生成工具,如Crystal Reports或JasperReports,通过设计报表模板和配置数据源来生成静态报表。

B、动态报表:动态报表是指可以根据用户的需求和交互动态生成内容或格式的报表。它们通常具备筛选、排序、分组和计算等功能。实现方式包括:
   - 编程语言和数据库:使用编程语言(如Python、Java、C#)和数据库(如MySQL、Oracle、SQL Server)来编写查询语句,然后将查询结果转换为报表格式(如HTML、PDF、Excel)进行展示。[mysql8窗口函数](https://zhuanlan.zhihu.com/p/637159855)
   - BI工具:商业智能(BI)工具如Tableau、Power BI和QlikView等提供了可视化报表设计和数据分析的功能,可以通过连接数据源、创建报表模板和配置交互选项来生成动态报表。

C、实时报表:实时报表是指能够实时监测和展示数据变化的报表。它们通常与实时数据源连接,以秒级或分钟级更新数据。实现方式包括:
   - 数据流处理框架:使用流处理框架如Apache Kafka、Apache Flink或Apache Spark Streaming等,从实时数据源接收数据并进行处理,然后将处理结果实时展示在报表中。
   - 实时数据库:使用实时数据库如MongoDB、Redis或Apache Cassandra等,将实时数据存储在内存中,并通过查询和订阅机制将数据实时展示在报表中。

D、自助报表:自助报表是指用户可以根据自己的需求和权限自主创建和定制报表的功能。实现方式包括:
   - 可视化报表设计器:提供用户友好的报表设计器界面,允许用户通过拖放、配置和设置参数来创建和定制报表。常见的工具包括Tableau、Power BI和Google Data Studio等。
   - 自定义查询工具:为用户提供自定义查询语言或界面,允许用户编写查询语句来获取数据并生成报表。例如,使用SQL查询工具如phpMyAdmin或pgAdmin等。

E、汇总报表:汇总报表是将多个数据源或多个报表的数据进行汇总和统计,以展示总体情况或比较不同数据源之间的差异。实现方式包括:
   - 数据集成工具:使用ETL(抽取、转换、加载)工具如Informatica、Talend或Pentaho等,将多个数据源的数据整合到一个汇总报表中。
   - 数据仓库:构建数据仓库或数据集市,将多个数据源的数据集中存储,并使用OLAP(联机分析处理)工具如Microsoft Analysis Services或Oracle OLAP等进行数据分析和报表生成。

F、手机报表:手机报表是针对移动设备(如智能手机和平板电脑)进行优化的报表,以适应小屏幕和触摸操作。实现方式包括:
    - 响应式设计:使用响应式设计技术,使报表能够根据不同设备的屏幕尺寸和分辨率自动调整布局和样式。
    - 移动应用开发:使用移动应用开发框架如React Native、Flutter或Ionic等,开发专门针对移动设备的报表应用。

G、地理信息报表:地理信息报表是将数据与地理位置信息结合,以地图形式展示数据分布和空间关系的报表。实现方式包括:
   - 地理信息系统(GIS)工具:使用GIS工具如ArcGIS、QGIS或Google Maps API等,将数据与地图进行关联和可视化展示。
   - 数据可视化库:使用数据可视化库如D3.js、Leaflet或Mapbox等,通过编程方式将数据和地图交互展示在报表中。
   
   
   

3、财务报表(因为祥和是税务公司,顺便对公司报表梳理下)

3.1.1、按照编报的时间分为月报、季报和年报

3.1.2、按照编制单位,可以分为单位报表和汇总报

3.1.3、按照报表的分为个别会计报表和合并会计报表

3.1.4、按照不同的标准进行分类

(1) 按服务对象: 对外报表和内部报表;
(2)按报表所提供会计信息的重要性: 主表和附表;
(3)按编制和报送的时间分类: 中期财务报表和年度财务报表;
(4)按编报单位不同: 基层财务报表和汇总财务报表;
(5)按编报的会计主体不同: 个别报表和合并报表;
(6)按照企业资金运动形态的不同: 静态报表和动态报表。

4、慢慢填充的案例

image.png

该需求分析报表属于:动态报表且非实时,且表数据量大概在几十万条
方案两种方式:
A、直接查源表 - 性能比较差,开发简单
B、做个中间表,定期去把源表的数据统计拉取过来 - 性能更优,实时性差些,维护成本高
   定期拉又分: 差分拉取和全量扫表拉取

(这里粗浅记录下flink,试试的流式计算,属于大数据领域,处理能力数十亿、数百亿+)
   

参考

wenku.baidu.com/view/90c1d3… baike.baidu.com/item/%E8%B4… BI zhuanlan.zhihu.com/p/640300485 zhuanlan.zhihu.com/p/144313163

其他(未使用过)

smartbi https://demo.smartbi.com.cn/smartbi/vision/index.jsp
finebi https://www.fanruan.com
轻流  https://qingflow.com/