商业智能在一卡通数据分析中的应用与实现

2019-07-08 02:23周勇强
电脑知识与技术 2019年13期
关键词:商业智能数据仓库

周勇强

摘要:业务系统运行多年沉淀的大量数据已成为企业新的数字资源,通过深入分析和挖掘,发现其中有价值的信息,为管理决策提供支持,已成为很多企业的新需求。以某校在一卡通POS交易数据分析方面存在的需求为起点,采用Microsoft商业智能技术体系及产品集,应用Kimball维度建模方法,构建了适合实际情况的、易于扩展的DW/BI解决方案。重点研究系统架构、维度建模及OLAP数据分析。

关键词:商业智能;数据仓库;OLAP;维度模型;多维数据集

中图分类号:TP311.13        文献标识码:A

文章编号:1009-3044(2019)13-0283-03

某校的一卡通系统已运行多年,积累了大量业务数据,但缺乏灵活的数据分析手段。下面是一些业务需求:

① 管理层希望从卡户、商户、时间、POS终端、用餐团队等多个角度快速分析POS交易数据,并可灵活切换分析角度及分析粒度。

② 教职工餐厅在工作餐(中餐)时段,用餐人员有时排起长队有时空闲,管理层希望分析用餐流量分布规律,提升管理服务水平。

本案例需求进入了商业智能(BI)的应用范畴,即:将应用数据在数据仓库(DW)系统中组织成一致的分析型数据,然后通过联机分析处理(OLAP)或数据挖掘(DM)等技术手段,发现有价值的信息,为管理决策提供支持。本案例研究将Kimball维度建模技术融入Microsoft商业智能技术体系及产品集,构建DW/BI解决方案,重点研究系统架构、维度建模及OLAP多维数据分析。

1 系统架构

在數据仓库领域,Kimball数据仓库构建方法是一种以业务过程为导向的、迭代式的敏捷开发模式,其维度建模技术几乎已经成为数据仓库建模的最佳实践。另一方面,微软BI方案拥有覆盖整个BI生命周期的完整、完全集成的技术体系及产品集,各部分可有效地协同工作。将Kimball方法融入微软BI平台,可快速构建易于维护的、高性价比的DW/BI系统。本案例系统架构见图1,由源数据区、SSIS、SQL Server RDBMS、SSAS、BI应用等部分组成。

源数据区包含一卡通等多个OLTP系统数据库。

SSIS(SQL Server Integration Services)用于构建ETL系统。ETL从源数据区抽取数据,经过清洗、规格化等处理后转换成分析型数据,加载到关系数据仓库数据库中。其中ETL数据存储用于存储ETL过程中的有关数据。

关系数据仓库数据库是数据仓库数据保存的第一个位置,由SQL Server RDBMS管理,数据结构按星型维度模型组织。这个数据库用于向SSAS(SQL Server Analysis Services)管理的多维数据仓库数据库提供数据。

多维数据仓库数据库是数据仓库数据保存的第二个位置,由SSAS生成和管理。 SSAS采用MOLAP存储模式将关系数据仓库数据库中的数据在多维数据仓库数据库中重组为多维数据集。SSAS通过OLAP服务向终端用户开放多维数据仓库数据库,提供OLAP分析及数据挖掘功能。

在BI应用部分,终端用户使用Excel软件通过SSAS连接多维数据仓库数据库,进行OLAP分析或数据挖掘。

2 维度建模

2.1 维度建模的基本概念

Kimball维度建模是围绕业务过程进行的。业务过程是业务流程中一个可度量的事件或活动,业务过程捕获或生成的度量指标称为度量值(或事实),参与业务过程的对象称为维度。使用Kimball方法建模,首先需要通过需求分析选取业务过程,每次针对一个业务过程建模,迭代式地构建数据仓库。

保证每次迭代所构建的数据集市能在整个数据仓库体系中无缝融合,并能适应未来发展的Kimball方法是采用数据仓库总线架构。总线架构和一致性维度、一致性事实共同组成了Kimball多维体系结构的基础,形成了一套可以逐步建立数据仓库的方法论。其核心是在体系结构确立阶段,设计出在整个企业内具有统一解释的标准化的维度和事实,即一致性维度和一致性事实。一致性维度就像企业范围内的一组总线,将多个数据集市在逻辑上结合在一起,一致性事实保证不同数据集市间的事实数据可以交叉探查,所有数据集市联合组成分布式数据仓库。可借助于Kimball的企业总线矩阵列出企业范围中的业务过程及维度,企业总线矩阵是DW/BI系统的总体数据架构蓝图,是每次迭代的路标。

在维度模型中事实和维度是分开存储的,事实存储在事实表中,维度存储在各自的维度表中,事实表中除了度量值,一般只存储指向维度表的外键,事实表和维度表通过主外键关联在一起。

本案例维度模型按星型模式设计,在星型模型中,通过反规范化设计将存在关联关系的维度表合并存储在一张维度表中,因为消除了复杂的维表间关联,因此提高了查询性能,且更易被用户理解。

2.2 维度建模

按Kimball的4步设计方法进行维度建模。

2.2.1 选择业务过程

在本案例的企业数据仓库总线矩阵中,包含有POS交易、图书借还、会议签到等众多业务过程。用户当前的主要需求可以归纳为对POS交易数据进行分析,而POS交易数据来自于卡户在POS终端刷卡扣费、充值等交易活动,并存储在一卡通系统数据库中,因此“POS交易”业务过程有最高的业务价值、有源数据支撑、易于实现,应优先建模。限于篇幅,本文只选择这个业务过程建模,并将维度模型进行了简化。

2.2.2 声明粒度

粒度是指数据仓库中数据的细化和综合程度。DW/BI系统几乎总是要求数据尽可能以最细粒度(原子粒度)来表示,原子粒度数据能以任何方式进行切分操作,从而回答各种不可预测的分析请求,提供最佳的分析灵活性。在本案例中,最细粒度是POS交易的每次刷卡数据。

2.2.3 确定维度

粒度确定后,根据业务场景可确定日期、时间、人员、POS终端、钱包等维度,见图2。维度表的主键命名以“Key”结尾,均采用代理键;来自业务系统的业务主键命名以“ID”结尾,用于识别数据来源。维度表使用代理主键是公认的最佳实践,用于整合不同源数据、处理第二种类型的缓慢变化维度(Type 2 SCD)。

日期维度:“日”是日期维度的原子粒度。为了满足不同场合对分析粒度及报表标签名称的需求,设计了年、季度、月、日、星期、节假日等各种日期维度属性。日期维度存在多种层次结构,如年/季度/月/日、年/周/日等。本案例使用的日期范围是前10年及今后20年,共约11000条记录。

当天时间维度:用餐流量可以通过用餐时间段内以分钟为粒度的用餐流量变化规律进行分析。除了当天时间的时、分,还设计了餐次等时间段属性。当天时间维度表有1440条记录,如果将当天时间和日期合并在一起,将产生约1500万条记录的巨大的日期维度表,因此我们将日期和当天时间分开存储,这两张维表容量都很小,性能得以提高。

人员维度:人员维度是企业数据仓库总线中一个较为复杂的一致性维度。包含人员数据的业务系统有一卡通系统、主业务管理平台、酒店管理系统、图书管理系统等,这些系统已经作了对接,人员、部门等主要数据是共享的,但每个源系统创建的共享数据所共享的范围各不相同,整个企业中这些共享数据的产生和更新以源系统为准,因此ETL需要从这几个系统中抽取各系统的源头数据。 “源系统ID”用于区分数据源头。对人员姓名、部门、状态、人员类别等的变化按Type 2 SCD进行处理,对于性别、出生日期等属性按Type 1 SCD進行处理。

POS终端维度:在一卡通系统中,POS交易终端配置在“交易站点”中。交易终端分为A、B二类,每个站点可以容纳一个A类终端或一个以上B类终端。因此每个交易终端可使用(站点ID,终端机号ID)进行唯一性识别(A类终端的终端机号ID固定为0)

钱包维表:一卡通系统支持多个电子钱包。

交易类型维表:包含商务消费、卡户存款等交易类型。

2.2.4 确定事实

POS交易过程获取的事实有交易金额、优惠金额等,扩展事实还有交易人次、交易人数等。扩展事实可在BI工具中通过添加计数、非重复计数等实现。

3 OLAP多维数据分析

使用Excel的数据透视表和数据透视图连接多维数据仓库数据库,通过简单的鼠标拖放操作,即可以即席查询(Ad Hoc)方式进行OLAP多维数据分析。以下是两个分析例子。

3.1 团队商务收费构成的即席分析

图3是两个团队的团队商务收费构成透视表。分析对象为“POS交易”多维数据集,分析的事实是交易金额,分析维度有交易类型、日期(年/季度/月/日)、POS终端、当天时间(餐次)、人员(部门/人员)。通过鼠标点击维度标签上的加、减号,即可实现上钻、下钻操作;通过鼠标拖放调整维度组合、对维度进行过滤和排序,即可实现变换分析角度、进行切片/切块分析。

3.2 用餐流量分析

图4是教职工餐厅2017年2季度中餐刷卡流量透视图,分析对象为“POS交易”多维数据集,分析的事实是刷卡次数,分析维度有POS终端、日期(年/季度/月/日)、当天时间(时/分)。

中餐时间段为11:30~12:30。由图可知,用餐流量高峰出现在11:50~12:05,在11:30~12:10这段时间中,除了用餐高峰外的用餐流量较为均衡,开餐时间11:30之前有少量用餐流量,用餐结束时间12:30之前20分钟(12:10~12:30)用餐人数稀少。

接下来,切换日期维度到其它的季度,或者上钻到年份,或者下钻到月份、日来进行更细致的观察,我们得到了和上述分析类似的结论(限于篇幅,不再展示这些数据)

根据以上分析,管理层可以结合实际情况优化用餐流量,如:一、适当调整中餐时间段;二、进一步分析不同人群的流量分布规律(如:即席添加一个人员维度并上钻到部门粒度,即可以折线图等方式显示每个部门的流量分布),结合学校业务特点有针对性地向非高峰时段引导用餐流量。

4 结论

本案例快速构建了一个能满足当前需求、适合学校发展实际情况的DW/BI系统。本系统有不少改进或扩展空间,后续可在目前基础上迭代式发展,如添加更多业务过程、扩展数据挖掘功能、加入第三方工具、开发自定义BI应用,以发掘出更多有价值的信息。

参考文献:

[1] (美)Ralph Kimball.数据仓库生命周期工具箱[M]. 唐富年,等,译. 2版.北京:清华大学出版社,2009.

[2] Ralph Kimball,Margy Ross.The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling, 3rd Edition[M]: US: Wiley Computer Publishing,2013.

[3] (美)Lynn Langit.SQL Server 2008商业智能完美解决方案[M]. 张猛,等,译.北京:人民邮电出版社.2010.

[4] Ralph Kimball. Design Tip #15: Combining SCD Techniques [EB/OL]. https://decisionworks.com/2000/10/design-tip-15-combining-scd-techniques/.

【通联编辑:代影】

猜你喜欢
商业智能数据仓库
基于数据仓库的数据倾斜解决方案研究
基于数据仓库的住房城乡建设信息系统整合研究
页岩气工程大数据仓库建设与管理系统开发
什么是商业智能?它的定义和解决方案
分布式存储系统在液晶面板制造数据仓库中的设计
关于实时商业智能的文献综述
探析电力系统调度中数据仓库技术的应用
商业智能在当下出版社中的运用
广东省高速公路联网综合信息商业智能系统
基于数据仓库的数据分析探索与实践