当前位置:首页  >  数据分析专题  > 

阿里员工讲数据仓库和报表平台的实施步骤,小白和进阶扫盲系列

作者:Jenny.Zhang

浏览:4,544

发布时间:2023.8.1

建立数据仓库是一个解决企业数据应用问题的过程,是企业信息化发展到一定阶段必不可少的一步,也是发展数据化管理的重要基础。

市面上关于数据仓库的书籍和文章不少,但是具体的实施会根据不同行业而有所差别。比如,不同企业的核心诉求不同,那么从技术到方法论都会有所区别。

那么宏观来讲,企业该如何实施数据仓库(一下简称"数仓")建设的项目呢?本文先以传统行业的数仓切入介绍数仓的实施方法论

数据仓库建模方法论,数据仓库建设,报表需求分析,数据仓库建模方法,报表分析

一、需求分析

需求分析是数据仓库项目最重要的一个环节

数仓说到底还是服务业务、支撑业务,如果需求分析不准确,做了没人用、上了不好用,就会直接影响客户的使用,最终导致项目的失败。

为了避免最坏的情况出现,企业在构建数仓的前期一定要重视需求的调研、挖掘和分析,并采用一些科学严谨的措施和方法去做需求分析。

下面分享4个我们常在实际调研过程中会用到的技巧、经验:

1、尽可能与业务方、客户方一起分析需求

引导对方将项目所要实现的整体框架和业务细节部分述清楚,最好的方式就是需求人员和设计人员基于原型来讨论,从而正确理解实际的业务需求。

2、将数据仓库所能实现的目标、不容易解决的问题协商清楚

这一个环节趟过不少坑,IT方急着上线,业务方对于项目还处于一知半解,甚至在推动的时候可能避重就轻,比如一期不满足的需求强行上,长远来看项目会产生不少推诿和扯皮,消磨的是对方的信任。

所以在需求讨论的基础上,需要理解业务工作流程,当然如果你已经具备了这个行业丰富的业务知识,那可以在需求调研的时候尽可能地让对方按照自己的思路去完成数据仓库系统的功能设计。

3、需求方群体的分类

BI项目最终的使用对象可以分为以3类:数据查询者、保镖查询者、企业决策者。这三类人群的需求特点完全不一样,沟通的时候需要注意区分并深刻理解。

4、接受需求的变更

现实是很多情况下需求是不确定的,业务方是提不出有价值的需求的,需求今天是A明天又变成B无法一步做到位的,这都很正常,作为项目实施者要做好心理预期。

一般情况下,业务方能够提供的都是需求的整体框架部分或者是实际需求的一部分内容,不能预见未来需要增加的需求,这也注定了数仓项目是一个不断循环、反馈,使系统不断完善增长的过程

既然我们不能完全规避风险就要做到减少风险,因此进行科学的调研是十分重要的

以下是调研模板,当需求调研完成时,需要对采集结果进行分析、归纳、整理,最终形成完整的需求分析报告。

数据仓库建模方法论,数据仓库建设,报表需求分析,数据仓库建模方法,报表分析

二、数据仓库的逻辑分析

数据仓库在逻辑上可以分成操作型数据库、数据仓库层、数据集市层、数据分析应用层和报表展示层,其架构如下图所示:

数据仓库建模方法论,数据仓库建设,报表需求分析,数据仓库建模方法,报表分析

三、设计ODS系统

ODS 可以有两种形式:ODS 数据缓冲区和ODS统一信息视图区,下面将一一介绍。

1、ODS数据缓冲区

ODS数据缓冲区是业务数据流动过程的第一个存储区,实现了数据仓库从各个业务系统的数据源中将数据抽取出来,并且装载到ODS数据缓冲区的这一过程,从而实现统一的全局的企业数据平台,为以后的数据抽取、清洗、转换过程打下坚实的基础。

对于数据的数据源可以采用增量的方式进行抽取,对于经常变化更新的数据一般采用全量的方式进抽取。

ODS数据缓冲区具有实时性的特征,ODS系统将各个孤立的业务系统的生产运营数据集成起来,组成统一的、全局的企业数据交换平台。

2、ODS统一信息视图区

ODS统一信息视图区是指有选择地集成各类业务源数据,对数据进行抽取、清洗、转换操作,以数据主题域为数据集成的基础,对数据进行分类和组织,使用户能够通过统一信息视图区获得跟某个主题域相关的实时性数据。

各业务系统和ODS统一信息视图区可以互相访问,可以生成具有实时性的操作性报表和查询某一主题的近期全部信息。

3、ODS数据缓冲区和ODS统一信息视图区的区别和共同点

ODS数据缓冲区主要为业务源数据抽取到数据仓库中提供中间数据缓冲的功能,ODS统一信息视图区是数据抽取、清洗、转换、加载的转换规则和数据存储的方式不同。

ODS统一信息视图区是完全按照主题的方式进行数据存储,向用户提供快速的报表展示和数据实时查询的功能。

而ODS数据缓冲区的ETL规则一般只进行简单的汇总、计算,或者从操作型数据库中直接抽取而中间不进行任何转化。ODS 统一信息视图区的数据一般都是从ODS数据缓冲区中抽取过来的。

四、数据仓库建模

数据仓库建模在前面已经有了详细的介绍,数据仓库模型是IT技术开发人员、业务人员、决策管理者相互沟通的一套语言和平台。

对于数据建模工程师来说,对业务的深刻理解是首要任务,因为数据仓库建模分为概念模型设计、逻辑模型设计和物理模型设计3个阶段,一般按照自顶向下的顺序依次对模型进行设计。

数据仓库建模方法论,数据仓库建设,报表需求分析,数据仓库建模方法,报表分析

数据仓库建模方法论,数据仓库建设,报表需求分析,数据仓库建模方法,报表分析

五、数据集市建模

一般数据集市模型的建设是基于需求分析得到的结果,数据集市的建模主要针对事实表和维表的设计

数据仓库建模方法论,数据仓库建设,报表需求分析,数据仓库建模方法,报表分析

六、数据源分析

所谓数据源分析,就是对源数据进行分析和总结,得出源数据的范围、格式、更新方式、更新频率和质量好坏的过程。

七、数据的获取与整合

数据的获取与整合存在于数据仓库项目中的各个阶段。

数据仓库很重要的一个作用就是将散落在各业务系统的数据整合起来,不规范的数据规范起来,以一种便于分析和应用的方式放到数据仓库里,供前端应用分析。

ETL过程实际上就是数据流动的过程,即从不同的数据源流向统一的目标数据库。数据的获取与整合是完成数据仓库建设最复杂的过程,它关系到数据的质量,是数据仓库项目建设的根基。

八、数据应用和报表展现

报表绝对是让人痛苦的东西。格式复杂、需求多变,业务没事就改需求或者增加几个。虽然说起报表感觉很老土,但确实是整个数仓项目价值落地呈现的东西。

做报表多的人,基本上都会做一个自己的工具,至少也会做一个引擎,按照自己的理解用一种结构化加动态的方式去定义所需要的报表,可以灵活的选择所需要的数据,设计展现样式生成报表。

现在一般都是采用专业的低代码报表工具来做报表,比如FineReport去做报表,提升开发效率,侧重应用分析,毕竟没有谁想一天到晚被爆表缠身。

数据仓库建模方法论,数据仓库建设,报表需求分析,数据仓库建模方法,报表分析

结合前面谈到的数据分层的机制,会发现,不管基于哪一层,都有做报表的需求。个人认为报表的重点不在于报表的制作,而在于如何利用报表为业务为项目谋价值。

大公司都会有负责报表分析这块的项目人员,那针对报表延伸出来的工作,报表需求分析、指标体系规划、以及各位为经营为管理为基层人员的报表分类,还有围绕业务的分层设计。

  • 对于基层员工,报表使用的最多的就是录数据、查询数据。比如商场售货员浏览数据来查看商品的售卖情况,以此来及时补货,还有每天的日销售数据录入。

  • 对于部分业务人员,报表的不再是简单的展示和录入,会衍生出一些分析需求,比如采购经理,他需要决定采购哪些品牌的商品,从哪一家供应商来采购,如何规划商店的商品。
  • 那方法就是看报表看哪些商品买的好,以此来考虑是否需要加购哪些品牌商品,放弃那些品牌商品或者搞促销。高大上一点的说辞就是利用数据优化商品结构,选择供应商。

  • 对于企业管理层,更多的说是做Dashboard进行指标的监控,做的业绩分析(时间、地区纬度等)。而这一过程,也是通过数据使管理层可以更容易的按照标准的管理方法进行决策(如果说员工是判断,领导就是决策了...)

目前主流的软件——FineReport,它小到填报、查询、部署、集成,大到可视化大屏、dashboard驾驶舱,应有尽有,功能很强大。最重要的是,因为这个工具,整个公司的数据架构都可以变得规范,下一步就是构建企业的大数据平台了。而且它是java编写的,支持二次开发,类Excel的设计器,无论是IT还是业务,上手都很简单:编辑sql优化、数据集复用简直都是小case,大大降低了报表开发的门槛。在企业中被关注最多的数据安全方面,FineReport支持多人同时开发同一套报表,并通过模板加锁功能防止编辑冲突;通过数据分析权限控制,保障数据安全。

管理驾驶舱指南,业务指标,数据分析报表需要展现大量的数据和文字,提高信息传递的效率

报表工具产品更多介绍:www.finereport.com


在线客服

电话咨询

技术问题

投诉入口