李雅莉 LI Ya-li
(宝鸡文理学院电子电气工程系,宝鸡 721007)
摘要: 开发了三层C/S模式的基于OLAP的零售业销售分析系统,系统能够对多维数据集中的数据进行更新,能够实现对多维数据集的切片、切块、钻取及聚合分析,为决策者制定科学合理的销售决策计划提供了有力依据。
教育期刊网 http://www.jyqkw.com
关键词 : 销售分析;OLAP;多维数据集
中图分类号:TP311.1 文献标识码:A 文章编号:1006-4311(2015)03-0208-03
基金项目:宝鸡市科技计划项目(2013R4-4)。
作者简介:李雅莉(通讯作者)(1973-),女,陕西宝鸡人,讲师,硕士研究生,研究方向为计算机应用技术、数据挖掘。
0 引言
在IT技术渗入零售业之后,零售业已经发生了很多变化,零售企业的数据库里集中了大量的原始交易数据,这些数据主要包括各个前端设备采集来的原始销售数据和库存数据。如何从这些不断累积的数据中挖掘出有用的信息,做出科学合理的决策,获取最大利润,是企业决策者最关心的问题。
对于数据仓库(DW)来说,是在数据库的基础上发展起来的,通常情况下,为决策分析提供服务。数据组织在联机分析处理(OLAP)的作用下,由二维平面结构扩充到多维空间结构,同时提供了相应的多维数据分析方法。
企业的决策者大都是管理方面的强者,通过计算机技术对数据库中的数据进行知识挖掘方面精通者不多。针对这种情况,本文主要研究如何在客户端通过Visual Basic 6.0设计一款基于OLAP的零售业销售分析系统,通过简单的界面操作,使企业决策者很清楚的了解各种销售信息,从而制定出科学合理的决策,及时有效地应对市场变化。
1 系统的体系结构
在基于OLAP的零售业销售分析系统中,采用三层 C/S 结构进行设计,对于本系统来说,主要包括数据仓库层、多维数据集层、客户端层三部分,如图1所示。
1.1 数据仓库层 销售分析主要是在某时间内(日,月,季,年),对商品的销售量,销售利润等进行了解,分析哪些商品畅销,哪些商品滞销,商品的主要消费群体及地区等,以便制定更好的采购、库存及营销计划。根据销售分析主题,对数据仓库进行概念模型设计和逻辑模型设计,在微软SQL Server 2000下实现数据仓库的物理模型设计,创建DTS包完成数据抽取、清理和转换任务,将数据装载到数据仓库中。
1.2 多维数据集层 在MS Analysis Services系统中,创建多维数据集,用于OLAP分析。根据销售分析主题,选择数据仓库中的数据作为数据源,维度包括时间维、商品维、顾客维和商店维4个维度。其计算成员选择销售额、销售成本、销售量为度量值,销售利润和销售利润率等。选用MOLAP保存销售分析多维数据集。
1.3 客户端层 利用微软的VB6.0开发一个良好的人机交互系统,这是因为该软件能够实现在数据仓库中,可以有效加载数据,同时更新多维数据集,进而在一定程度上实现OLAP的可视化多维分析,以表格、图形等方式向用户呈现结果,供用户决策使用。
2 系统功能设计
根据模块化思想,对系统进行功能设计和开发,其功能模块如图2所示。
2.1 多维数据集更新 利用SQL Server 2000提供的数据转换服务(DTS)创建实现数据仓库和多维数据集更新的DTS包,并在VB下执行远程DTS包实现数据的更新。
2.2 钻取聚合分析 维度需要有层次性,例如时间维由年、季、月、日构成。数据的综合程度通过维度的层次得以真实的反映。对于钻取来说,通常情况下,可分为上钻、下钻。其中,下钻是从汇总数据到细节数据的细化过程,上钻是从细节数据到汇总数据的聚集过程。聚合实际上是钻取的逆向操作。
通过钻取聚合分析,可以了解商品的日、月、季、年的销售量、销售额和销售利润。发现商品的销售趋势,并相应的调整商品的采购和库存计划。
2.3 切片分析 切片是在多维数据集的两个维上集中观察数据。通过商品分析(时间商品维)、地区分析(时间商店维)、顾客分析(时间顾客维),进而在一定程度上可以分析出哪些商品畅销,哪些商品滞销,同时可以顾客的购物地区,以及消费主要群体进行分析。根据分析结果,制定相应的营销策略。
2.4 多维切块分析 切块是选定若干维度(通常是三维)进行分析。可以自由选择维度,系统会自动生成MAX查询语句,并将分析结果以表格的形式展现出。
3 系统开发
3.1 VB与DTS包 借助OLE DB接口,Microsoft公司的数据转换工具DTS能够在关系数据源、非关系数据源以及ODBC数据源之间完成数据的转移;可以从多个异构数据源自动或交互地向数据仓库装入数据;对于使用VBScript或JavaScript等脚本语言创建的自定义转换脚本DTS同样能够给予支持,并且在一定程度上允许使用Visual Basic、Visual C++等编程语言编写自定义的组件,在转换中能够对数据进行校验、清理等操作。集成在SQL Server 2000中的DTS可以自动调度导入或操作任务,也可以使用SQL代理服务来进行调度[1]。
利用DTS设计器创建数据仓库更新的DTS包。利用DTS提供的Analysis Services 处理任务,创建多维数据集更新的DTS包,在VB中执行远程DTS包来实现多维数据集的更新。主要代码如下:
Dim MyPackage As DTS.Package
Set MyPackage = New DTS.Package
With MyPackage
.LoadFromSQLServer "服务器名", "用户名", "密码", DTSSQLStgFlag_Default, , , , "DTS包名"
.Execute
3.2 VB与多维数据集 在VB中,利用ADO(ActiveX Data Objects)控件能够访问数据库系统,ADO MD(ActiveX Data Objects Multidimensional)是对ADO的扩展,包含了访问OLAP多维数据集所需的各种对象和集合[2]。
利用ADO MD可以连接多维数据集,用MDX语句进行多维查询,并将它查询的结果
通过单位集对象(Cellset)返回。在VB中建立ADO MD对象的代码如下:
4 系统测试
系统运行后,首先执行多维数据集的更新,以完成分析数据的更新。
图3为切片分析的可视化界面,通过分析后,可得出食品类中的蔬菜类和小吃类商品最畅销,而罐装商品销量低,在以后的采购中可用畅销的商品替代滞销的商品,对于滞销商品可采取促销方式提高销售量。
图4为多维切块分析的可视化界面。管理人员根据销售分析需求,可以自由选择维度、度量及计算成员,系统会自动生成MDX查询语句,将结果以表格形式展现出来。
5 总结
本系统界面友好,操作简单,利用此系统对零售业的销售数据进行多维分析,能帮助决策人员全面、深人地了解销售情况,为企业的管理和决策提供有力依据。
教育期刊网 http://www.jyqkw.com
参考文献:
[1]武彦峰,朱仲英.基于DTS组件的数据仓库的数据抽取工具的设计与实现[J].微型电脑应用,2004,20(3):1-4.
[2]沈兆阳.Microsoft SQL Server 2000 OLAP解决方案——数据仓库与Analysis Services[M].北京:清华大学出版社,2001.
[3]武新华,魏平俊,魏红娟等著.Visual Basic管理信息系统开发案例[M].西安:西安电子科技大学出版社,2004.