数据抽取与主题开发基础流程.docx
- 文档编号:11266721
- 上传时间:2023-05-30
- 格式:DOCX
- 页数:14
- 大小:22.37KB
数据抽取与主题开发基础流程.docx
《数据抽取与主题开发基础流程.docx》由会员分享,可在线阅读,更多相关《数据抽取与主题开发基础流程.docx(14页珍藏版)》请在冰点文库上搜索。
数据抽取与主题开发基础流程
数据抽取、主题报表基础开发流程示例
1数据抽取
根据SG186一体化平台数据标准,相关数据抽取流程如下:
为了使用户能更全面的了解数据体系的原理及应用流程。
下面我们以生产数据为例,详细演示数据的抽取的过程。
抽取模块:
(中间到基础,基础到主题,基础到支撑)
下面以基础表到主题表的数据抽取为例,予以详细说明。
另外,基础到支撑表的抽取与基础到主题抽取建模类似。
1.1明细表(源表)
例:
SC_DEV_EXAM_REP(生产设备检修基础表)表。
表结构如下:
目标表
T_SC_EQUIP_REPAIR(设备检修主题表)表.其表结构如下:
数据名称
英文名称
数据长度
数据单位
月
MONTH_ID
VARCHAR2(6)
检修类型
REPAIR_TYPE
VARCHAR2(20)
生产管理|检修类型
电压等级
VOL_LEVEL
VARCHAR2(20)
生产管理|电压等级
计划数
PLAN_NUM
NUMBER(10)
COUNT(设备检修.检修计划编码)
完成数
FINI_PLAN_NUM
NUMBER(10)
COUNT(设备检修.检修计划编码)|设备检修.是否完成检修=是
完成率
REPAIR_RATE
NUMBER(12,2)
完成数/计划数*100%
附:
T_SC_EQUIP_REPAIR(设备检修主题表)主题表数据标准。
定义宏
为了移植方便,要定义宏。
应用于整个数据抽取流程。
其中定义了生产、营销的中间库、基础库、主题库的连接方式(ORACLE9i、ORACLE10g等数据库的连接方式)、数据库实例、用户名、密码以及数据抽取的时间戳。
(定义宏)
设计Map及Process
源连接
选择基础表相对应的源连接、数据库别名、用户ID、密码。
最后将数据源按维度字段(在目标表(主题表)中需要分类查看的字段,其在源表(基础表中对应的字段)进行排序,以下是样例查询语句:
SELECT*FROMSC_DEV_EXAM_REPWHERETAB_YEAR=$(SOURCE_TIME_YEAR)
ANDTAB_MONTH=$(SOURCE_TIME_MONTH)
ORDERBYTAB_YEAR,TAB_MONTH,REPAIR_TYPE,VOL_LEVEL
注:
这里的对源数据进行分组的依据是目标表里面的维度字段。
目标连接
选择和源表相关的主题表。
选择输出模式、更新选项
有四种输出模式,可以根据实际的情况选择。
定义全局变量(属性)
将目标表中的维度和指标设为全局变量。
由于在源数据转化为目标数据的过程中,需要对源数据指标进行Sum或Count或百分比的计算。
其计算的结果就暂时赋给全局变量,然后又全局变量再赋给个目标值字段。
实现了源数据指标经全局变量赋给目标字段的过程。
为了便于开发、维护,全局变量的别名是依据目标字段产生的。
初始化全局变量
在BeforeTransfaction事件中将需要进行计算(Sum、Count、百分比)的全局变量赋初始值0(初始化的值一般在这里用Execute方法指定)。
将全局变量依次赋给目标字段
把无值的全局变量赋给目标字段,由于全局变量是依据目标字段产生的,因此这里的赋值就便于理解以及后期的维护。
为全局变量赋值
在源AfterEveryRecord事件中设置其它各维度字段的值,执行指标字段Sum或Count以及百分比计算,也就是为全局变量赋值的过程。
可参考《农电管理主题数据》
经过步骤、、、的操作,整个值传递的过程结束。
此处做清洗的操作,如源表中一些数据不合规范,或不完整,需在此处做过滤,归并,重置值等操作(具体的清洗方法需根据实际源数据的质量水平来确定)。
处理OnDataChange1事件
选择数据变化监视器
选择需要监视的维度字段,多个字段则用表达式来处理用&关联,为全局变量赋值提供赋值依据。
ClearMapPutRecord事件。
执行向目标表里面插入数据的动作。
还原全局变量,赋初始值0.为下次赋值做准备。
处理OnError事件
OnError事件resume,如果抽取工程发生错误,该时间将执行数据回滚动作。
调试运行
运行映射。
直接运行或调度运行。
结果是:
成功读取48条,修改4条。
源表:
共48条记录
目标表:
共4条记录
注:
步骤至:
完成源与目标的连接、对应。
步骤至:
完成源指标经全局变量赋给目标指标的过程。
步骤:
监测抽取过程是否顺利进行。
步骤:
运行、调试。
此步骤只基于源、目标一对一的情况。
建立多个映射后可将其集中到单个或多个流程中批量执行。
2主题开发
以上述主题表T_SC_EQUIP_REPAIR(设备检修主题表)为例,介绍一下主题开发的具体步骤。
其表结构如下:
附:
T_SC_EQUIP_REPAIR(设备检修主题表)主题的设计标准。
主题域编号
SCGL
主题编号
SCGL-003
分析主题
设备检修分析
需求目标
通过对设备检修情况的分析,掌握设备检修检修完成率等。
维度组成
时间、电压等级、设备类别、设备类型、检修类型
维度层次
【时间】:
年-〉季度-〉月
MONTH_ID
【电压等级】:
见码表:
C_VOL_LEVEL
【检修类型】:
见码表:
C_REPAIR_TYPE
分析指标
计划数
PLAN_NUM
NUMEBR(20)
完成数
FINI_PLAN_NUM
NUMEBR(20)
完成率
REPAIR_RATE
NUMEBR(12,2)
分析方法
采用多维分析OLAP技术,按照多种维度展现分析。
数据来源
安全生产系统SC_DEV_EXAM_REP
关注对象
决策人员
管理人员
业务操作人员
相关部门
其它部门
相关部门
其它部门
√
√
√
√
√
最小关注频度
年
月
日
备注
介绍元数据库
Microstrategy元数据是存储在关系型数据库中的一个预定义的结构。
Microstrategy定义了这个元数据的结构。
元数据和数据仓库的RDBMS不必相同。
当应用程序连接到这个元数据库时,所有的框架对象、报表对象、配置对象和项目设置信息都存储在这里。
我们在这里使用Oracle数据库来存储MSTR元数据。
准备空的RDB,并定义ODBC
以ORACLE9i为例,在ORACLE中创建一个数据库实例SG186ND。
创建2个用户:
basic_data/basic_data(数据仓库用户)、mstr_user/mstr_user(元数据用户)定义一个系统ODBC,命名为SG186ND_L。
配置元数据库
使用ConfigurationWizard(开始/程序/Microstrategy/ConfigurationWizard)第一项:
下一步,
选择创建元数据表,下一步
选择ODBC数据源名称:
SG186ND_L,输入用户名和密码。
(如果使用Access作为元数据库,则选择在Access数据库配置资料库,在下面的文本框中输入Access文件的路径即可,系统会创建Access文件并配置ODBC。
)点击下一步。
如果有警告信息,点击关闭,再点下一步。
选择元数据脚本位置,一般情况下系统会根据元数据库类型选择出默认的脚本程序,如本例中系统会找到…..\。
点击下一步。
点击完成。
点击确定。
配置元数据库完毕!
!
连接项目源
项目源对象处于Microstrategy对象的最高级。
一个项目源代表一个元数据库连接。
这个连接可以由两种方式实现:
(1)直接或两层模式:
通过知道DSN、LOGIN、口令连接到元数据库。
(2)服务器或三层模式:
通过指向一个定义好的IntelligenceServer连接到元数据库。
这里首先使用直接方式连接,稍后再把建设好的应用配置成三层模式,以便远程用户可以访问(通过desktop或直接在网页上访问)。
启动MicrostrategyDesktop。
选择菜单工具/项目源管理器,点击添加,输入项目源名称(如Training),选择连接模式为直接,选择ODBC:
SG186ND_L,点击确定(两次)。
可以看到我们刚刚创建的项目源Training
创建项目
在应用中定义的MSTR对象(框架对象和用户对象等)隶属于项目。
项目在项目源下,一个项目源下可以有多个项目。
在MicrostrategyDesktop中双击进入刚才定义的项目源Training(最初配置一个项目源时,MSTR会创建一个内嵌的用户,用户名是Administrator,口令为空,当进入一个项目源时,需要输入这个项目源的user/PWD。
从安全的角度考虑,进入一个新项目源后,应该修改MSTR内嵌用户Administrator的口令),选择菜单框架/创建新项目。
Desktop弹出项目创建助理:
项目创建助理有4个按钮,用于创建项目和快速初始化一个项目。
在这里,首先用创建项目按钮来创建项目,其余按钮的功能在后面介绍。
点击创建项目按钮
输入项目名称和描述,点击确定,在弹出的登录窗口输入用户名(Administrator)和密码(空)。
项目创建完毕后,点击确定。
在项目源下出现新建的项目。
定义数据库实例
数据库实例代表与数据仓库的连接。
用于在某个项目中使用的数据仓库。
在项目源下的管理/数据库实例管理器中点击菜单文件/新建/数据库实例
输入一个数据库实例名称,选择数据库连接类型,[输入描述]
在数据库连接中点击新建,输入数据库连接名称,选择一个指向所要的数据库的本地系统ODBC数据源;在数据库登录名中点击新建
输入数据库登录以及合法的登录ID和密码,点击确定
选择正确的数据库登录名,点击确定
选择正确的数据库连接名称,点击确定。
这样就定义了一个数据库实例,来代表物理的数据仓库。
选择数据仓库表
刚才创建了一个项目(TestProject),我们要在项目中创建报表等BI应用,这些报表需要从数据仓库中的某些TABLES中选取数据。
一个项目需要哪些数据仓库表,就在仓库目录中定义。
每个项目可以配制不同的仓库目录。
将焦点放置所要控制的项目上(TestProject),选择菜单框架/仓库目录,由于现在是第一次进入仓库目录对话框,系统会弹出选择数据库实例界面:
选择刚刚创建的SG186ND数据库实例,点击确定。
系统弹出仓库目录对话框。
左侧是数据仓库中可用的TABLE,右侧是选中的数据仓库表。
作为最简单项目,我们先选取6个张表:
事实表T_SC_EQUIP_REPAIR,维表C_VOL_LEVEL、C_REPAIP_TYPE、CODE_MONTH、CODE_YEAR、CODE_QUARTER。
定义事实
在MicroStrategy产品环境中事实是关联数据仓库中的数值和MicroStrategy报表环境的框架对象。
他们对应到数据仓库中的物理字段,并用以创建对事实数据进行运算的度量对象。
在该项目中,先定义三个事实(Fact):
PLAN_NUM(计划数),FINI_PLAN_NUM(完成数),REPAIR_RATE(完成率)。
将焦点移至TestProject项目下的框架对象/事实中,选择菜单文件/新建/事实,系统载入事实编辑器,并进入到创建事实表达式界面。
先创建PLAN_NUM事实,PLAN_NUM事实存在于事实表T_SC_EQUIP_REPAIR中,在源表下拉列表中选择T_SC_EQUIP_REPAIR,把PLAN_NUM字段从可用的列拖到事实表达式中,在映射方法中选择手动,点击确定:
选中T_SC_EQUIP_REPAIR表前的复选框,点击保存并新建。
确认保存的路径是框架对象/事实,输入对象名称计划数,点击保存。
再创建FINI_PLAN_NUM事实。
FINI_PLAN_NUM事实也存在于事实表T_SC_EQUIP_REPAIR中
确认保存的路径是框架对象/事实,输入对象名称完成数,点击保存。
再创建REPAIR_RATE事实
确认保存的路径是框架对象/事实,输入对象名称完成率,点击保存。
定义实体
在Microstrategy环境中,实体——以及组成实体的元素——是业务内容的概念。
你在报表中按照实体来汇总和查看数据。
每个实体可能具有多个形式;每个形式可能从多个物理表中表示;实体间会有父子关系。
一个实体的实体形式是考察实体的一个角度。
每个实体至少有一个实体形式,通常有两个:
ID
描述(DESC)
一些实体可能会有其它描述型形式。
比如,客户实体有客户名称形式,还有地址、Email等其它描述型形式。
实体形式之间必须具有一对一关系。
形式有两种用途:
1.显示:
在报表上或数据浏览时显示
2.条件:
分析或做查询时用于限制条件。
你可以用多个形式使实体更加灵活。
比如,零售业中的商品实体有两个基本的形式,ID——在数据库中参与快速的运算;名称——保存商品的名称。
由于商品在不同的国家/语言中可能会有不同的名称。
你可以创建另外的实体形式表示外文名称。
你还可以创建其它如尺寸、规格、包装等实体形式。
在这个简单项目中,先定义五个实体(Attribute):
Year(月),Quarter(季),Month(月),Vol_Level(电压等级),Rerair_Type(检修类别),其中Year是Quarter的Parent、Quarter是Month的Parent。
将焦点移至TestProject项目下的框架对象/实体中,选择菜单文件/新建/实体,系统载入实体编辑器,并进入到创建实体形式(ID)表达式界面。
在创建实体形式(ID)表达式界面,选择源表CODE_YEAR,把Year_ID字段从可用的列拖到形式表达式中,在映射方法中选择自动,点击2次确定:
对于Year实体,不需要描述形式,但需要定义Year和Quarter父子关系。
点击子标签,再点击添加按钮,选择Quarter实体,点击确定。
点击保存并关闭按钮。
确认保存的路径是框架对象/实体,输入对象名称年,点击保存。
Quarter(季度)实体
再创建Quarter(季度)实体。
选择菜单文件/新建/实体,系统载入实体编辑器,并进入到创建实体形式(ID)表达式界面。
首先选择源表Code_Quarter,把Quarte_ID字段从可用的列拖到形式表达式中,在映射方法中选择手动(见附录),点击2次确定:
给该实体添加一个描述(DESC),点击新形式。
选择季度的中国报表显示形式。
Month_ID用于关联数据库,Month_Desc_Zh规定了该实体在报表中的现实形式。
点击2次确定
点击保存并关闭按钮。
确认保存的路径是框架对象/实体,输入对象名称季,点击保存。
再创建Month(月)实体。
选择菜单文件/新建/实体,系统载入实体编辑器,并进入到创建实体形式(ID)表达式界面。
首先选择源表Code_Month,把Month_ID字段从可用的列拖到形式表达式中,在映射方法中选择手动(见附录),点击2次确定:
给该实体添加一个描述(DESC),点击新形式。
同时要定义Month和Quarter子父关系。
点击父标签,再点击添加按钮,选择Quarter实体,点击确定。
点击保存并关闭按钮。
确认保存的路径是框架对象/实体,输入对象名称月,点击保存。
再创建Vol_Level(电压等级)实体。
选择菜单文件/新建/实体,系统载入实体编辑器,并进入到创建实体形式(ID)表达式界面。
首先选择源表C_VOL_LEVEL,把SORT_CODE字段从可用的列拖到形式表达式中,点击确定:
选择相对应的源表后。
点击新建
选择事实表里面有电压等级字段的表关联起来。
映射方法:
自动。
点击2次确定
然后在给该实体添加描述(DESC)。
选择SORT_NAME作为该实体的描述。
映射方法:
自动。
点击2次确定
点击保存并关闭按钮。
确认保存的路径是框架对象/实体,输入对象名称电压等级,点击保存。
Repair_Type(检修类别)实体
再创建Repair_Type(检修类别)实体。
选择菜单文件/新建/实体,系统载入实体编辑器,并进入到创建实体形式(ID)表达式界面。
首先选择源表C_REPAIR_TYPE,把SORT_CODE字段从可用的列拖到形式表达式中,点击确定:
选择相对应的源表后。
点击新建.
选择事实表里面有检修类别字段的表关联起来。
映射方法:
自动。
点击2次确定
然后在给该实体添加描述(DESC)。
选择SORT_NAME作为该实体的描述。
映射方法:
自动。
点击2次确定
点击保存并关闭按钮。
确认保存的路径是框架对象/实体,输入对象名称检修类别,点击保存。
更新框架
对于现在的简单项目,所有的框架对象(SchemaObjects)都已经定义完了,为使框架对象最终在报表生效,需要更新框架(每当框架对象改变后,均需更新框架)。
选择菜单框架/更新框架,点击确定来更新框架。
创建度量
度量是报表组件,它代表了商业度量和关键性能指示器。
用存储在数据库中的数
据进行表达计算,这与电子数据表软件中的公式相似。
使用事实创建度量。
对于我们现在的简单项目,对应上面创建的3个事实,可以创建3个度量:
计划数、完成数和完成率。
将焦点移至TestProject项目下的公共对象/度量中,选择菜单文件/新建/度量,系统载入度量编辑器。
将完成数事实拖至度量定义中:
点击保存并新建按钮,确认保存的路径是公共对象/度量,输入对象名称完成数,点击保存。
将计划数事实拖至度量定义中:
点击保存并新建按钮,确认保存的路径是公共对象/度量,输入对象名称计划数,点击保存。
将完成率事实拖至度量定义中:
完成率=完成数/计划数*100%
点击保存并关闭按钮,确认保存的路径是公共对象/度量,输入对象名称完成率,点击保存。
创建报表
将焦点移至TestProject项目下的公共对象/报表中,选择菜单文件/新建/报表,系统载入报表编辑器:
从数据资源管理器中找到框架对象/实体,双击年、季、月、检修类型、电压等级实体(或拖拽),让其显示在报表模板上,再从数据资源管理器中找到公共对象/度量,双击完成数、计划数、完成率。
选择菜单查看/表格查看,则报表执行,并以表格形式呈现结果。
点击保存并关闭按钮,确认保存的路径是公共对象/报表,输入对象名称设备检修主题表,点击保存。
这样,一张报表就完成了。
设置I-SERVER
用刚才创建的简单项目(元数据库是ORACLE9i中的SG186ND数据库,ODBC:
SG186ND_L),设置I-SERVER,就可以从浏览器看到报表。
使用ConfigurationWizard(开始/程序/Microstrategy/ConfigurationWizard)第二项:
下一步,
选择ODBC数据源:
选择SG186ND_L,输入数据库用户名、密码,点击下一步。
输入MicroStrategy管理员用户名和密码,点击下一步。
输入一个服务器定义名称,点击下一步。
选中TestProject项目,点击下一步。
点击完成。
(如果系统显示警告信息,点击确定即可)
Web浏览
把包拷贝到TOMCAT的根目录,启动TOMCAT。
它将启动寻找I-SERVER服务。
访问就看以看到我们在Desksop中构建的项目(TestProject)。
点击进入。
输入用户名:
Administrator、密码:
Administrator登陆.在共享报表中可以浏览报表。
注:
在WEB页面上也可以进行修改、扩展。
修改后的结果会被写入数据库。
完整项目开发
现在来完善刚才的简单项目。
将使用到数据仓库中多个TABLE,创建丰富的报表。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 抽取 主题 开发 基础 流程