企业内部系统的统计报表实现方案选型

文章目录

    今年的工作重点变成了公司内部的企业数字化开发。说得更具体点,就是搞一些:

    • 销售管理 CRM
    • 仓库管理
    • 生产计划任务管理
    • 各种 ERP OA 集采平台数据打通

    任务繁杂,需求不明确,没有人手。看起来无比头疼,非常不想介入这些事情。因为最近看的一本书里说的非常有道理,如果一个项目对于最终客户体验没有任何改善,那么就不要去自己实现,例如,内部的这些信息化系统。

    牢骚这么多,进入正题。

    需求

    将 CRM 中的合同等数据做统计报表,分行业,分产品,分销售部门/个人统计,方便老板及管理层查看。

    为何要选型

    由于是使用了开源的 CRM,所以如果要在上面直接二次开发一些统计功能页面,实际上,梳理代码还是需要一定的精力投入。而且,改动代码之后,还面临着以后就不好去做版本升级了。

    加之,手头的项目过多,实在不想花更多的精力在这些没有产出的项目上,能高效的满足需求就行。

    为了对比各方案的优劣,把一些备选方案罗列一下。

    方案一:在现有系统上,直接二次开发

    • 需要对现有代码有基本的了解
    • 前端风格需要统一
    • 前端交互需要实现 (在需求不明确的情况下,浪费时间)

    方案二:使用现成的 BI 框架

    BI 框架,即商业智能框架 (Business Intelligence),是指一套用于构建商业智能系统的软件工具和技术。它为企业提供了一个统一的平台,用于收集、存储、分析和管理数据,并将其转化为可行的商业洞察力。

    参考这里:

    https://v2ex.com/t/652691

    找了一些开源的 BI 数据可视化框架,superset / metabase / redash 及 python dash,看了一下。

    感觉 python dash 比较满足需求。

    实际就是罗列 table 数据,能展示几个可视化 chart 图表就能满足需求。

    唯一的不便是,不太好整合入现有的 CRM 系统,因为目前部署在公网,这两个系统的账号没法打通的话,体验上是个问题。

    好处也很明显,如果未来有更多的系统需要做数据统计报表,那么直接用这个统一的架构就能显著提高开发效率。而且不需要前后端分离,节省不必要的沟通及排期。我在招聘网站上搜索了一圈,确实不少招聘专职的 BI 数据分析专员,但是用的可能是一些收费的 BI 方案,大同小异。

    目前优先选择 python dash 的方案。

    方案三:直接导出 Excel

    之前做过类似的统计系统,但实际上效果不佳,因为理论上老板有 N 多系统需要看,实则并没有多少精力去挨个登录查看。所以最后都会演变成自动发送统计邮件,要么直接在邮件中用 HTML 展示了,要么增加一个 Excel 附件。

    我觉得 Excel 是一个非常好的解决方案,但是领导未必会同意,因为看上去跟开发部门没有任何关系。尴尬

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式