近期要做填报报表,使用Spreadsheet还是Finereport?

news2024/10/1 1:29:39

又是忙碌的五月呀~~近期接到一个项目,是一家商贸公司需要去采集销售部门的销售业绩据, 以往他们使用Excel表格线下去做报表填报,传统的报表体系效率低,文件杂,汇总难。下级部门上传数据需要以多个表格来上报,上级部门拿到上报的数据后还要手动进行汇总或者分类。对于这种无限重复并且效率低的工作节奏,他们早已厌倦。因为手工采集都所以他们需要有一张自己的工作表。这就导致,在全国的数据管理中,多个地区的工作表的结构是相同的,只是名称不一样。重复建立多张表就造成了资源的浪费,并且不易进行管理和实时更新查看。


如果要避免这种情况,过往的经验告诉我,专业的事情交给专业的工具来做,我们要选择专业的数据填报软件,起到事倍功半的效果, 不再为数据收集而秃头!


 在国内的报表领域,有两款好评如潮的产品——帆软旗下的报表产品FineReport,Smartbi旗下的报表工具Spreadsheet。 这两款工具都能实现数据的线上填报整合,但哪款更合适我,我最近也亲自试了下,都各有利弊,以下就是我使用的过程细节对比,提供给有数据采取需求的亲们,供参考~~


两个产品做出来的效果,如下图:

efb250253d0532feb8cd8c35bc2d2210.jpeg


实现过程的差异对比,如下:

1.数据接入

两个平台都支持主流的数据库类型,基本都是可以通过业务库的IP和端口就可以便捷连接到数据库。令人惊喜的是,Spreadsheet的数据库管理机制,可从整个数据源进行表关系、元数据、数据权限进行全局管理。Finereport暂未发现数据库全局管理能力,数据库接入后,只是一个数据链接地址,缺少类似能对整个数据源字段和表关系进行全局管理,后续需要每个数据集都重新定义一次关系,稍微繁琐一些。


500345ef981d12508b651347a18d6185.jpeg


Spreadsheet数据库统一对整个数据源字段和表关系进行全局管理管理机制:

ccd6404a857adb694deb9b4d875d189c.jpeg


2.数据准备

Finereport提供多种数据集处理手段,具有SQL数据集、自助数据集、程序、文件数据集、关联数据等。数据集支持类型很丰富,但是使用起来又比较技术化,适用于熟悉sql的用户。。这个定位比较清晰,这块软件就是面向于 IT人员去使用的。如果不熟悉sql就出门右转了,可以考虑使用spreadsheet,因为这个产品除了支持sql取数,还是支持拖拽勾选的方式取数,不熟悉sql也可以使用

7eb5bd30bbc735113c0e3d8dca49c05d.jpeg


Spreadsheet在取数这块门槛就低很多,不仅有专业的sql取数,也支持业务人员自助勾选字段取数。根据业务的使用习惯,来专门开放给业务用户勾选拖拽字段就能取数并快速生成参数应用于报表中。


0e60370f074d96423f43164f499bb156.jpeg


Spreadsheet有专为技术人员提供的原生SQL数据集、Java数据集、存储过程数据集等,同时SQL数据集编辑界面可以看见数据库表的信息,如表名、字段名等信息辅助写sql。


e2e8e753aa7870fe0944724baf6f95f0.jpeg


3.填报报表开发

两者的开发界面如下图所示,Finereport使用的是“类Excel”的C/S报表设计器,Spreadsheet使用的是“真Excel”的准B/S报表设计器。两者都可以满足常见的复杂报表需求。Spreadsheet基于Excel/WPS的特色来融入BI报表的能力,Finereport使用类Excel的设计器,对于熟悉Excel的小伙伴来说的话,在函数、公式使用在Spreadsheet的Excel设计器更方便。如果使用Finereport需要重新花时间去学习,在丰富度上也略低于Spreadsheet。但整体使用下来,Finereport在整个设计器的功能布局会比较集中和细节做的更连贯一些。


Finereport的类Excel设计器

9ce0dd2e4c09a7cf9b214090e1796ec1.jpeg


Spreadsheet真Excel设计器

550dcd2588a134f5d8acff0ed75546f1.jpeg

 在制作细节上,也要几点想与大家分享一下


1.拖字段,特别是字段量较大是,Spreadsheet比较友好是可以批量插入名称,不需要一个一个拖拽,对于效率要求的技术控就比较友好了。


a062a30cc8cb79c87f2b8836519d51a6.jpeg


2.Spreadsheet继承了单元格细节的灵活性,如同一个单元格的字体支持不同颜色显示,而字体需要Finereport整个单元格进行修改。

d857e591158ebe4eb360f2312503bc93.jpeg


3.Finereport无法动态获取数据集(当报表拖字段后,若此时修改数据集名称,报表就没数了)

e664319fd6bbc43e08d9631d7a7dd340.jpeg

编辑

8e1e681e6f240f1078a84ba8d882c13c.jpeg

 

这一点,大家需要注意一下,如果使用finereport不要轻易改数据集名称,不然像我这次一样,改了数据集后就报错,有点蒙。如果修改,字段需要重新逐个拖拽吧。


4.在公式函数上,Spreadsheet兼容的Excel函数包括但不限于日期时间函数、统计函数、财务函数、文本函数、预测函数等,尤其平时日常用的最多加减乘除、VLOOKUP也可以直接使用。当数据集字段绑定到单元格后,可使用Excel本身的公式、函数进行单元格引用和计算。


918d981a8f19b87f6d426270d5feb6d7.jpeg


Finereport内置系统函数十大类上百种函数,并且分类、使用向导和公式说明上做的比较易用。


90734e6119c7fe2f2b1cea74c7e31d6b.jpeg


5.参数使用:

Finereport的参数使用与smartbi使用过程差别很大。Finereport在做数据集的时候不需要考虑接入参数,是在报表层面进行加入的,加入的步奏大致可以分为以下几步

  • 定义参数:设置参数名称,添加参数,根据实际应用场景的需要选择不同类型的参数。d90e59e22ab52f88a6bb886e640f7704.jpeg
  • 参数添加控件:控件是参数实现查询的载体,选择控件类型,通过将控件和参数绑定,实现在控件中输入参数值,能够过滤并查询出用户想要查看的数据。


b9611911c157d0d5a10aee6a651670c9.jpeg


  • 设置参数来源,这里叫做数字字典:

22a8676a4ad81afd398fec32bee9a8f7.jpeg

 最后需要过滤的字段,需要设置与该控件参数绑定,从而实现参数切换时,数据进行实时过滤

ce2c416512946d5cf86fc8eaff0c8f92.jpeg


Spreadsheet的参数使用,相比而言就简洁一些,是在数据集里面加入参数,当报表使用带有参数的数据集,变可直接继承使用。

e3d7a176bcf49a5352a3f930a64dc188.png


 参数的编辑界面,支持写sql,直接拖字段,静态列表,函数这四种类型

89a720321c9f75d583ff837308863806.jpeg


 参数排版,单元格引用,参数默认值都可以在报表设计器“参数设置”栏目完成

ade16679cd66555421e4fef896055607.jpeg

6.填报功能设置

两者都可以满足常见的数据填报场景。Finereport填报校验配置项丰富些,并且将回写规则与填报属性两个功能合二为一进行设置,Spreadsheet需要分别设置,对于没有现成的校验配置项也可以个性化去编写表达式进行扩展。


Finereport填报设置:FR有14种类型参数控件,并且针对每种组件都有相应的设置项(日期控件,可以设置起始和截止日期,文件控件:可以设置是否允许一次上传多个文件)

b5c7d8a31e3cf15726f29f522bb9c86d.jpeg


Finereport校验功能,每种控件都有数据检验类型,且内置检验规则比较丰富(比如身份证、电话、邮件等),也可以自定义正则表达式和js检验。 还支持设置提交条件(过滤掉不符合条件数据,其它的正常提交,不会阻止条件过程)。


c3e00fcbb32e818e5ff758c360afe342.jpeg编辑

有专门的按钮和背景等页面调整设置

08d3a5bcd4c3f48dcef385454c3941bd.jpeg


 Spreadsheet的填报设置,与finereport类似的需要设置单元格的填报数据类型以及如何与数据库进行匹配(即回写规则设置)。另外spreadsheet支持不同用户填报同一张报表数据,可以按照部门、区域、层次等来控制用户填报数据的权限,且填报和浏览权限可以分开单独设置


2c2fddc9c7d4690c40512db9803e6004.jpeg


由于本次开发这个项目采集的数据是销售对于76种产品的在12个月的销售目标,所以一次性采集的数据比较多,如果让销售逐个去填写会比较费劲就有76*12条数据了,spreadsheet还有这个批量回写的功能,对于一次性要填写大量数据的场景比较友好~


02a42b288557cf2f80c7c61116e0ab34.jpeg

4.发布使用

两个产品的发布流程稍有不同,实现效果基本一致。Spreadsheet是在设计器端点击发布后,回到web端可以在保存的目录下可以打开该资源。

b6bdbf302d3e9b29a5085529bcb6a0c4.jpeg

Finereport在设计器端发布后,需要回到web管理平台进行挂载模板进行查看。

0b27c69f0f5f7c795dea546c9fa1fd10.jpeg


总结

使用了两个产品来做同一个多维度的填报报表,这两个产品的差别不是很大,都能实现最终的效果。


两者各有所长。Finereport开发细节上更友好,功能细节更丰富和完善。而Spreadsheet在数据准备手段更灵活,就算不会sql也能玩得动,并且如果你习惯用Excel的话使用Spreadsheet会更容易上手。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/545104.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python3安装

依赖安装 gcc是一个用于linux系统下编程的编译器,由于python3需要编译安装,因此,需要首先安装gcc。先查看一下系统中,是否安装了gcc。 gcc --versions 发现没有安装,则需要安装。参数-y的作用是在安装过程中自动确认…

在 Python 中制作偶数列表

文章目录 开始什么是偶数在 Python 中使用 for 循环创建偶数列表在 Python 中使用 while 循环制作偶数列表使用列表理解在 Python 中制作偶数列表使用 Lambda 表达式在 Python 中创建偶数列表 开始 我们将通过示例介绍偶数列表以及在 Python 中创建偶数列表的不同方法。 什么是…

今天公司来了个拿 30K 出来的测试,算是见识到了基础的天花板

今天上班开早会就是新人见面仪式,听说来了个很厉害的大佬,年纪还不大,是上家公司离职过来的,薪资已经达到中高等水平,很多人都好奇不已,能拿到这个薪资应该人不简单,果然,自我介绍的…

韩国访问学者签证D-2-5材料准备及签证流程

韩国的签证种类很多,对于申请访问学者签证来说,较常见的签证种类是D-2-5签证和E-3签证,本篇知识人网小编先介绍D-2-5签证。 签证的材料准备 根据韩国大使馆2023年4月12日最新发布的“签证申请与准备材料指导”内容, D-2-5签证的签发对象及准…

一文带你了解电信终端指南(详细篇)

​ 电信入库认证周期: 常规为 4-6 周,我公司可加急完成认证,请拨打免费服务热线 400 626 0709 或联系 蒋先生 13823213584(微信同号)了解详情。 中国电信集团公司是我国特大型国有通信企业、上海世博会全球合作伙伴&a…

Yolov5轻量化:EMO,结合 CNN 和 Transformer 的现代倒残差移动模块设计,性能优于EdgeViT、Mobile-former等网络

论文: https://arxiv.org/pdf/2301.01146.pdf 🏆🏆🏆🏆🏆🏆Yolo轻量化模型🏆🏆🏆🏆🏆🏆 重新思考了 MobileNetv2 中高效的倒残差模块 Inverted Residual Block 和 ViT 中的有效 Transformer 的本质统一,归纳抽象了 MetaMobile Block 的一般概念。受这…

深度学习4 -- 卷积神经网络(代码实现篇+付详细流程文件)

引言 本文是使用pytorch对卷积神经网络(Convolutional Neural Network, CNN)的代码实现,作为之前介绍CNN原理的一个代码补充。本文代码相关介绍相对较为详细,也为自己的一个学习过程,有错误的地方欢迎指正。本人介绍CNN原理的链接:CNN原理介…

【Ai工具合集,一定有你需要的!】

花费了一天的时间测试了市面上各大Ai工具,然后帮大家整理总结出来了这些工具,一定记得点赞收藏保存,后面肯定会用到! 使用说明 1.部分Ai工具需要魔法上网,请自行解决;部分工具需要收费,可以尝…

图神经网络:(处理点云)PointNet++的实现

文章说明: 1)参考资料:PYG官方文档。超链。 2)博主水平不高,如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook和有关文献。超链。提取码8848。 文章目录 简单前置工作学习文献阅读PointNet的实现模型问题 简单前置工作…

convLSTM2D 层使用方法解析(Keras库)

最近在研究时序图像分类问题,需要用到convLSTM层提取特征,所以在此仔细分析一下keras.layers.ConvLSTM2D层的使用方法。深度学习框架是tensorflow 官方文档:recurrent/#convlstm2d - Keras 中文文档 下面这部分内容摘自官方文档 ConvLSTM2D…

Axure 轮播图如何制作

近来在学习axure,用的版本为Axure 9,给大家讲一下怎么使用轮播图,老规矩保姆式教学法 一、作图 1.创建新的页面,方便我们做图 2.在元件库搜索“动态面板”字样,设置一个动态面板,为什么要设置呢&#xff…

IIC总线通讯协议学习

​ IIC(最简单的总线通讯,简单意味着通用和普适性) iic通讯一般采用一主多从的方式.同一时间要么在发送信息,要么在读取信息(半双工通讯) ​​​​​​​​​​​​​​ ​​​​ ​​​ 标准的写数据帧(主机向从机写数据) 解释以上的写数据帧 S:起始信号(在SCL…

Linux学习---VMWare安装和CentOS7安装

1、 VMWare安装 1、VMware16安装包 链接:https://pan.baidu.com/s/1TKf5szN6k5Hk4HH4zqBgrg 提取码:zhm6 –来自百度网盘超级会员V1的分享 2、VMWare安装流程 (1)找到下载好的安装包,双击运行程序 (2&…

云贝餐饮连锁V2-2.7.7 【新增】外卖新订单提醒

独立版:云贝餐饮连锁V2、版本更新至2.7.7,小程序、公众号版本,全插件,包含微信公众号小程序;包更新,独立版; 带商家端,修复收银台、排队点餐、堂食点餐;最新版更新了&…

【pytorch损失函数(3)】nn.L1Loss()和nn.SmoothL1Loss()

文章目录 【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解1. L1 Loss(Mean Absolute Error,MAE)1.1 数学定义1.2 、使用场景与问题1.3 、如何使用 2. L2 Loss(Mean Squared E…

最流行的开源 LLM (大语言模型)整理

本文对国内外公司、科研机构等组织开源的 LLM 进行了全面的整理。 Large Language Model (LLM) 即大规模语言模型,是一种基于深度学习的自然语言处理模型,它能够学习到自然语言的语法和语义,从而可以生成人类可读的文本。 所谓"语言模…

MTK平台的SWT异常的简单总结(1)——WatchDog

SWT系列资料很多来源于Google (1)概念相关 SWT是SoftWare Watchdog Timeout的缩写,在Android系统中,为了监控SystemServer是否处于正常运行状态,加入了SWT线程来监控SystemServer中重要线程和Service的运行情况。判断…

多线程-程序、进程、线程与并行、并发的概念

多线程 本章要学习的内容: 专题1:相关概念的理解专题2:多线程创建方式一:继承Thread类专题3:多线程创建方式二:实现Runnable接口专题4:Thread类的常用方法专题5:多线程的优点、使用…

合肥工业大学信息隐藏实验报告

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :信息隐藏实验报告 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台&#xff…

OpenCV基础操作(1)图片及视频基础操作、常用绘图函数

OpenCV基础操作(1)图片、视频、绘图函数 import cv2 as cv import numpy as np1、图像的读取、显示、保存 使用函数 cv2.imread() 读入图像。 第一个参数是幅图路径, 第二个参数是要告诉函数应该如何读取这幅图片。 • cv2.IMREAD_COLOR(1):读入一副彩色…