在商业智能BI开发过程中,什么问题的挑战性最大?

在商业智能BI开发过程中,什么问题的挑战性最大?

我有时和商业智能BI项目上的同事闲聊,问他们在商业智能BI项目建设过程中,你觉得什么挑战性最大?有的人说我最怕业务逻辑太复杂,有的人说最怕用户的需求不明确,也有的人说复杂的业务场景不知道如何通过技术去实现,挑战性最大。大家说的都很有道理,那我来谈谈我个人觉得商业智能BI项目开发过程中什么问题挑战最大,我认为是数据质量的问题。

为什么数据质量问题挑战最大

5、6年前我还在从事商业智能BI开发的时候碰到过一个项目,业务并不复杂,就是统计一些时间段的时间差额,最后算出每个用户在上面消耗的时间,做商业智能BI统计分析。但是在实际开发过程中发现,即使把业务规则理解的再透彻,开发完成之后到实际的生产环境跑数据,总有些数据对不上。在测试开发环境下反复的检查业务逻辑,都没有问题,我就陷于了深深的苦恼。

商业智能BI – 派可数据商业智能BI可视化分析平台

这个商业智能BI项目到底是什么环节出现了问题,是ETL跑的时候丢数据了?还是我的代码有问题?还是我对业务理解的不够?弄得我开始对自己的能力开始怀疑了。应该不会啊,我能力这么强,在商业智能BI项目上从来没有失手过,不至于连这个搞不定。在反复的自我检查之后,我基本上可以断定,是生产环境的数据有问题。

因为在有些商业智能BI项目上,开发测试和生产环境是完全隔离的,开发测试环境下的数据是有限的、不完整的,没有生产环境那么全。于是,申请看看商业智能BI项目分析生产环境的实际数据,结果一看,就发现问题了,就是生产环境的数据存在问题,并且问题还很大。

如何处理数据质量问题

商业智能BI项目中,一个正常的数据逻辑,在生产环境下反复梳理,结果梳理出了24种异常数据的情况。原因是怎么造成的呢? 就是在业务系统中,有一个业务处理的流程,比如 A、B、C、D,正常情况下它应该是一个线性的、不可逆的操作流程。

业务流程 – 派可数据商业智能BI可视化分析平台

但是有些新用户在实际使用过程中,比如处理完A节点下面的N项操作,就到了B节点,B节点处理完了就到了C节点。按道理,到了C节点是不可能回去重新对A节点的业务做任何操作处理。结果在系统中就出现了这样的问题。就导致了在后台数据库中的数据节点序列的顺序在某些场景下完全是错乱的,存在大批量的异常操作数据,让商业智能BI项目的数据质量出现了问题。

那么在商业智能BI统计分析的时候,这些异常操作数据产生的时间序列就不应该被计算进来。当然,实际上的场景比我描述的要更加复杂。我大概描述一下,就是这里有一排房间,从左往右房间数量是无限的。

每个房间放了一个数据,你每往前走一个房间,都要记住之前每个房间做过什么事情,有什么样的数据。等到了第N个房间的时候,看到了一个数据,这个数据正好能和你之前走过的房间的某一个数据形成一个正确的时间序列,这样就需要记住之前每一个房间放的是什么,然后把这两个数据的时间差额给算出来,记下来。

数据可视化 – 派可数据商业智能BI可视化分析平台

再往前走的时候,又发现一个数据,这个数据和之前房间的某一个数据又对应上了,那么你上次完成的计算条件就不能成立了,就又需要重新组合一次。这个过程的处理非常复杂,我们把所有的场景全部梳理出来,有24种。拿这些场景和商业智能BI项目的业务人员去确认,业务人员基本上也弄不清楚,无法确认,因为数据太错乱了,已经超出他们对业务理解的范围了。

但最终,通过反复的看数据,找场景,还是把业务规则给确认了下来。最后到开发阶段,就这一项工作,整整耗费了我两周的商业智能BI开发时间。纯SQL和存储过程是无法直接实现的,后来是写了一段程序,再结合ETL和SQL才处理完毕。并且,模拟了一亿条数据,对所有的场景进行反复测试,没有问题。到现在上线已经很多年了,这个商业智能BI项目没有出现过任何问题。

数据质量问题处理思路

实际上,这个商业智能BI项目的问题是一个业务系统上的逻辑漏洞,在业务系统上很好调整。就是当用户操作到某一个节点的时候,前面已经操作完成的节点不让他们再回去操作,控制一下流程就可以了。

数据可视化 – 派可数据商业智能BI可视化分析平台

那么在以往他们这样反复的回头操作,在业务流程上是不会出现太大问题,所以他们就忽略了商业智能BI项目的数据问题。这样一来,在做商业智能BI数据统计分析的时候,就需要把这些问题给考虑进去。结果把这个问题提交上去之后,供应商还是国外的,说排到半年之后才能解决。所以,这个事情从业务系统上推进不了,那就只能在商业智能BI层面来解决,但是所付出的代价就很大了。

所以,在业务系统建设过程中,很多问题不到数据层面,是无法发现很多潜在的问题的。因为用户有时为了省事,也能用,这些问题他们平常不会意识到,因为对他们日常工作没有太大的影响。到了商业智能BI层面,由于数据需要被统计分析,一种业务规则对应一种处理规则,是需要在开发过程中明确下来的。如果一种业务规则有N种特殊的数据处理场景,就需要对应N种数据处理开发过程,是无法像业务人员那样可以自动忽略的,这个工作量就大了。

简单来说,在业务系统中这个问题的调整可能只需要半天的开发时间就完全可以调整完毕。对于数据逻辑来说,在数据质量上的控制,越在源头端控制,效果越明显。这就是问题前置、程序前置处理。前面不处理,越往后放,后置处理,一旦进行商业智能BI等涉及数据的项目,问题就变得就难上加难。

数据可视化 – 派可数据商业智能BI可视化分析平台

所以业务系统的一个小的数据质量问题对商业智能BI而言可能就是需要投入巨大的时间和精力才能处理掉的,这就需要我们企业在业务系统的使用、操作、程序规范性上真正的要重视起来,可以极大的降低商业智能BI实施开发过程中的时间成本。包括之前碰到的多个系统的数据档案信息不一致等问题,都是在业务系统规划之初没有提前规划而导致的。

这些问题能不能在一开始的时候就完全避免,不能说绝对,但是一定是可以做到绝大部分情况下去避免掉的。这就需要我们企业的信息化部门要有很前瞻的判断力,不仅仅要关注当下系统的建设情况、建设质量,也要预计好在未来部署商业智能BI系统扩展、各系统衔接的时候可能会存在的问题,要有一个很清晰的规划和预判力,这就需要有比较扎实的信息化项目开发、技术、项目管理、数据等综合的意识和能力。

移动BI_ERP数据分析_自助敏捷BI分析_数据可视化分析系统-派可数据

派可数据-商业智能BI_大屏BI可视化分析平台_用友BI财务分析_数据中台

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年6月23日
下一篇 2022年6月23日

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息