之前我的文章有介绍过:

帮助台的页面如下:

这个站点的结构其实很简单,主要就是一个大的服务请求的自定义列表,下面加了一个文件列表的Webpart,文件路径是公司的打印服务器。右边是一个组织架构的webpart,是第三方的,就是把某个ou中的所有用户都展现出来。

wKiom1PXSfaSHS61AAMVFzX5M7w005.jpg大概讲下自定义列表的结构,这里的数据类型是SharePoint列表的类型,不是数据库的:

列名
数据类型说明
IDID唯一值,自增长
服务请求单行文本用户对自己遇到的问题的简述
故障描述
多行文本用户对自己遇到的问题的详细描述
员工姓名用户或用户组设置只能选择用户,因为该网站可以匿名登录,所以这里要标示员工身份,主要是怕有员工有密码重置的需求
部门托管元数据一个树状的事先定义好的公司部门结构
工位号单行文本员工座位的编号
联系电话单行文本座机
MIS代用户或用户组设置只能选择用户,用于helpdesk自己接单子
请求状态选项提交,解决中,已解决,方便查看状态

处理过程多行文本主要由helpdesk填写处理过程和原因
解决时间日期和时间因为很多单子是it处理完以后,回来替用户补单子,所以方便选择解决时间,这样好计算响应时间
响应时间日期和时间解决时间减去创建时间
请求数量数字比如一个部门助理帮部门提了多个做系统请求
故障类型选项比如网络问题,硬件问题

有了这个列表以后,我们将这些工单数据录入后台数据库进行维度的数据挖掘


数据库设计:

事实表:

就是每条IT工作单

维度表:

参考下图:

wKiom1PXTjnSHkrtAAHuYC0Ca9Y537.jpg

即每条工作单可以按照时间、故障、办公区、部门四个维度进行挖掘。

统计的内容为数量和分数,数量为单子乘以每个单子中的数量,分数为故障权重*数量


通过SSIS服务,将SharePoint列表内的数据首先进行一些格式化后导入数据仓库:

wKiom1PXTrOw_x79AACUPCE0Sak791.jpg

因为一些SharePoint列表中的数据导入数据库会产生#等符号:

wKiom1PXTv2DvT6IAAGTDAZ_R-o394.jpg所以在Change Column模块中进行一些格式化,比如去#号:

wKioL1PXUErTWm8rAANKxVF6efg053.jpg


将数据规范化的导入数据库后,我们就可以做维度分析了:

这是当时做的大概的表结构:

wKiom1PXT5eShb6xAAH0oDBMzfw307.jpg

其中时间表是通过创建维度时,选择时间维度自动生成的。

大概讲下维度怎么创建,比如我上表中的Mis Member,每个mis成员有自己的ID和组ID,每个组有自己的组ID和组名称,组基本上就代表了办公区,因为我们当时按办公区分组的:


新建一个维度:

wKiom1PXUE2yXkXcAACijcFxqt8239.jpg

选择使用现有表

wKioL1PXUYOTbnhJAACtEkzwTOw761.jpg

选择MisMember:

wKiom1PXUKCyVcbXAAFdkX1kP68173.jpg

系统会自动检测出外部关键字,并将关联表也引入:

wKiom1PXUMzDg1QKAAFdkX1kP68845.jpg

这样我们就得到了这样一组数据:

wKiom1PXUO_R7zQkAAD5mlGw6ng300.jpg

接下来设置递推关系:

wKiom1PXURaiuwXFAADKp7ADHUc418.jpg

简单的讲就是根据人员ID可以推出是谁,还能推出在那个办公区。

view一下结构,就会出来下图:

wKioL1PXUpqwyKAhAAC-E2pXjZg406.jpg

可以看到有几个办公区,办公区都有谁,这样就说明结构设对了。


最后建立Cube,把所有维度添加进去。

wKioL1PXU2uCsEmsAAC34u7ZgMo409.jpg

wKiom1PXUmKz9YfiAADDigwy_FE867.jpg

之后就可以预览维度分析了。

wKiom1PXUnHCCwsdAAK84lOuKJk970.jpg最后把这个SSAS的项目通过SharePoint展示出来,就有了最终的效果图:

wKiom1PXUrCwUlxMAAJrYTiHfDQ627.jpg

wKiom1PXUsSStgpFAAJ4K_5nOUs611.jpg