首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自动化复杂的多个报表需求?

如何自动化复杂的多个报表需求?
EN

Software Engineering用户
提问于 2017-11-22 11:47:28
回答 2查看 379关注 0票数 2

我的任务是自动化由多个团队使用的报告。每个团队都有自己的程序,如何生成他们需要交付的报告。

我可以自动化报告,但这需要很多时间,因为我需要研究他们的每一个过程,然后测试他们。

当团队需要更新过程时,就会出现此问题。如果我将执行该调整,则可能需要一周的时间将其部署到客户无法接受的实时服务器上。

我想的是为用户创建界面,以便他们可以配置自己的报告,但是他们需要考虑的复杂性太多了。如果团队的需求只是用这个值过滤field1,用这个值过滤field2,那就太好了。他们会做各种各样的事情,比如合并值、应用条件等等。这是一个多步骤的团队,并不是所有的团队都有相同的步骤。

我能使用的最接近的工具是django的报表生成器。但它只能在一定程度上满足要求。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2017-11-22 14:06:24

以编程方式转换Excel工作表并不是一条出路。我将全面审查整个过程,并使用数据库作为报告的数据源。

要么让用户通过适当的应用程序将源数据直接输入数据库,要么将Excel数据导入数据库(在一个自动化的过程中)。

一旦数据在数据库中,您就可以使用数据库查询将数据放入正确的形状。这比以编程方式操作Excel工作表中的单元格容易得多。基于这些查询,您可以使用(商业)报表生成器创建报表。现代报表生成器可以创建各种格式的报表,包括屏幕预览、PDF、HTML、RTF甚至Excel。

远离这个Excel的污点。

Excel的一个主要缺点是数据没有预定义的结构。用户可以以他们想要的任何方式输入数据,从高度组织到完全混乱。这使得以编程方式处理它变得非常困难。另一方面,数据库有预定义表、预定义列、预定义列类型和表之间的预定义关系,这使得实现自动化变得更加容易,因为您有坚实的工作基础。虽然Excel工作表可以分布在不同的文件系统和文件夹之间,并且可以具有随机名称,但数据库通常位于中心和唯一的位置,并通过预定义的连接字符串访问。

Excel工作表可能非常复杂,但不能伸缩。我是专业开发软件的。我的许多数据库项目(包括前端应用程序)都是从客户那里获得的Excel表单开始的。他们非常擅长制作复杂的纸张。但他们已经到了这样一个地步,那就是纸张变得过于复杂,几乎无法再进化了。主要的问题是复杂的数据集几乎总是包含1到n的关系,这些关系只能在电子表格中非常糟糕地再现。电子表格基本上只适用于平面数据。此外,表示和结构在Excel中是相同的。但是,通常您需要对同一数据进行不同的评估和表示。这里是具有适当应用程序(前端)和报表生成器的数据库(后端)发挥作用的地方。

票数 7
EN

Software Engineering用户

发布于 2017-11-29 09:22:46

根据团队的多样性和目标的核心,需要考虑的方法是:

  1. 为项目提供一个或两个通用的报告解决方案,并让具有更具体或不同需求的项目创建自己的解决方案。
  2. 将一两个通用的报告解决方案实现为微服务,以便它们独立于许多特定于项目的元素--甚至可能独立于项目数据源。例如,将报表数据和指令(输出格式、模板、目标等)作为参数的API意味着每个调用API的项目都可以获取他们所需的数据,然后将其转换为API调用。

希望这能给你另一种思考问题的方法。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/361099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档