覆盖主要内容
版本: 下个版本

Workbench

说明

Schema-workbench 是专为设计 Schema 开发的桌面软件,软件内置了 oracle,kylin,mysql,postgresql 部分版本的驱动包。用户可以根据自己的需求,添加其他数据库的驱动包或者更新驱动包的版本。

配置 Workbench

(1)解压 Workbench 包

schema-workbench.zip

(2)点击 workbench.bat/workbench.sh 启动 workbench

(3)点击工具栏【Options】弹出菜单,选择【Connection】

image.png

(4)根据实际情况配置参数,点击【测试】测试是否配置成功

image.png

错误说明

(1)在连接高版本 MySQL 数据库时,出现如下图所示错误

image.png

请根据 MySQL 数据库的版本,替换 workbench 的 drivers 目录下的 mysql-connector-java-5.1.7-bin.jar 驱动包

建立时间维度

根据数据库中的 “fact_insurance_policy” 保单表中的 “insurance_policy_time” 数据列,从“年、季度、月、日”的角度分析数据,并建立时间维度,名称为“时间”。 (1)右键点击【Schema】弹出快捷菜单,选择【Add Dimension】

image.png

(2)修改添加后的维度【New Dimension 0】的属性【name】为【时间】,【type】为 【TimeDimension】

image.png

(3)为维度【时间】添加层次,右键点击【时间】弹出快捷菜单,选择【Add Hierarchy】

image.png

(4)选择【Add Hierarchy】,会自动添加两个层次【New Hierarchy 0】,【New Hierarchy 1】,保留层次【New Hierarchy 0】,删除添加的层级【New Hierarchy 1】,为层次【New Hierarchy 0】添加表,右键点击【New Hierarchy 0】弹出快捷菜单,选择【Add Table】

image.png

(5)修改添加后的表【Table】的属性【name】为【dim_time】,该属性代表层次【New Hierarchy 0】的相关信息来源于表【dim_time】

image.png

(6)修改层次【New Hierarchy 0】的属性【name】为保单日期,【primaryKey】为【time_key】,【primaryKey】表示表【dim_time】使用列【time_key】与事实表关联

image.png

(7)为层次【保单日期】添加级别,右键点击【保单日期】弹出快捷菜单,选择【Add Level】

image.png

(8)修改添加后的级别【New Level 0】的属性【name】为年,【column】为year_name,【type】为 String,【levelType】为TimeYears,属性【column】表示级别【年】的数据来源于表【dim_time】的列【year_name】

image.png

(9)为层次【保单日期】继续添加级别【季度】,并修改对应属性值

image.png

(10)继续添加级别【月】,【日】,并修改对应属性值

image.png

image.png

建立单一层次的标准维度

以【收付费类型】为标准,对保单资源进行分析,单一层次的标准维度建立过程与建立时间维度相同

(1)右键点击弹出快捷菜单,选择【Add Dimension】,修改添加后的维度【New Dimension 1】的属性【name】为收付费类型,【type】为 StandardDimension

image.png

(2)为维度【收付费类型】添加层次,并修改层次属性

image.png

image.png

(3)为层次【收付费类型】添加级别,并修改对应属性值

image.png

建立多层次标准维度

从投保人类型的角度,对保单资源进行分析,多层次的标准维度建立过程与建立时间维度相同 (1)右键点击【Schema】弹出快捷菜单,选择【Add Dimension】,修改添加后的维度【New Dimension 1】的属性【name】为险种_投保人类型分类,【type】为StandardDimension

image.png

(2)为维度【险种_投保人类型分类】添加层次,并修改层次属性

image.png

image.png

(3)为层级【险种_投保人类型分类】添加两个级别【投保人类型】,【险种名称】,并修改对应属性

image.png

image.png

建立多重关系型标准维度

从业务员及业务员所属机构的角度来分析保单资源,这时就要建立多重关系型维度“区域_机构”维度

(1)右键点击【Schema】弹出快捷菜单,选择【Add Dimension】,并修改对应属性

image.png

(2)为维度【区域_机构】添加层次【区域_机构】,由于在该层次中的级别值来源于多张表:【dim_salesman】,【dim_org_detail】,所以需要将相关表关联在一起,为层次【区域_机构】添加 Join

image.png

(3)双击添加后的【Join】,修改属性【Left】,【Right】,设置需要关联的表

image.png

image.png

(4)修改【Join】属性【leftKey】,【rightKey】,建立表之间的关联关系

image.png

(5)根据前面定义的关联关系,修改层次【New Hierarchy 0】属性,维度【区域_机构】将使用表【dim_salesman】的列【salesman_id】与事实表关联

image.png

(6)为层次【区域_机构】添加级别【区域分类】(来源于表【dim_org_detail】),【机构名称】(来源于表【dim_org_detail】),【业务员名称】(来源于表【dim_salesman】)

image.png

image.png

image.png

维度编辑

(1)对维度【收付费类型】添加级别【收付费归并类型】,右键点击层次【收付费类型】弹出属性设置框,点击【Add Level】

image.png

(2)修改添加后的级别【New Level 1】的属性

image.png

建立多维数据集

建立【保单资源分析】多维数据集,向多维数据集添加【收付费类型】,【险种_投保人类型分析】以及【区域_机构】维度;添加【时间】维度;新建【保单数量】和【管理费比例】度量值;将【管理费比例】的运算方式改为【计算最大值】;处理多维数据集。

(1)右键点击【Schema】弹出菜单,点击【Add Cube】

image.png

(2)修改添加后的多维数据集【New Cube 0】属性【name】为保单资源分析

image.png

(3)为添加后的多维数据集【保单资源分析】添加事实表,右键点击多维数据集【保单资源分析】弹出菜单,点击【Add Table】

image.png

(4)修改添加后的表属性,属性【name】表示使用【fact_insurance_policy】作为事实表

image.png

为多维数据集添加维度

前面小节建立的维度都属于共享维度,在不同多维数据集中设置引用关系即可引入到不同的多维数据集中 (1)首先添加维度【时间】,右键点击多维数据集【保单资源分析】弹出菜单,选择【Add Dimension Usage】,引用已经建好的维度【时间】

image.png

(2)修改添加后的维度【New Dimension Usage 0】属性,属性【source】代表引用维度【时间】,属性【foreignKey】表示使用事实表【fact_insurance_policy】的列【time_key】作为关联键

image.png

(3)与添加维度【时间】类似,依次添加维度【收付费类型】,【险种_担保人类型分类】,【区域_机构】

image.png

image.png

为多维数据集添加度量值

(1)为多维数据集添加度量【预收保费】,右键点击多维数据集【保单资源分析】弹出菜单,选择【Add Measure】

image.png

(2)修改添加后的度量【New Measure 0】的属性,属性【aggregator】表示使用聚集函数 SUM 来计算度量值,属性【column】表示该度量值来源于事实表的列【advance_policy_amount】

image.png

(3)与添加度量【预收保费】相同,依次添加度量【新单保费】,【续期保费】,【退还保费】,【实付赔款】,【实付退保金】,【实付生存金】

image.png

image.png

image.png

image.png

image.png

(4)添加度量【保单数量】,度量【保单数量】的值通过对列【insurance_policy_id】去重计数来得到

image.png

(5)添加度量【最高管理费比例】,根据定义,需要将属性【aggregator】值设置为 max

image.png

保存多维数据集文件

配置好的多维数据集需要导出,并上传到 OLAP Studio 才能进行多维分析

(1)修改 Schema 的属性

image.png

(2)点击【File】弹出菜单,选择【Save As】导出多维数据集文件

image.png

image.png

上传并绑定多维数据集文件

(1)将保存文件【dcrm.xml】上传到 OLAP Studio 中 进入 OLAP Studio 中,点击工具栏中【多维模型配置】弹出菜单,选择【多维模型上传】

image.png

image.png

点击【Choose】选择刚才保存的文件,然后点击【Upload】上传文件

image.png

上传成功后右上方会出现提示信息

image.png

(2)绑定多维数据集文件 点击工具栏中【多维模型配置】弹出菜单,选择【多维模型绑定】

image.png

选择数据源【dcrm_mysql】和刚上传的文件【dcrm.xml】,点击【确定】或【应用】,将文件绑定到数据源。

image.png

绑定成功,出现提示信息

image.png

建立父子维度

新建一个名为【主管】的共享父子维度,再以【dim_salesman_level】为例,以【superior_id】为父层,以【salesman_id】为子层建立私有父子维度【业务员等级】,加入【保单资源分析】多维数据集,分析每一位成员(主管和部属)及其隶属成员的保单业绩。

(1)右键点击【Schema】弹出快捷菜单,选择【Add Dimension】

image.png

(2)修改添加后的维度的属性【name】为【业务员等级】,【type】为 【StandardDimension】

image.png

(3)为维度【业务员等级】添加层次【业务员等级】,为层次【业务员等级】添加表【dim_salesman_level】

image.png

image.png

(4)为层次【业务员等级】添加父子级别【业务员名称】,修改属性【column】为salesman_id,【nameColumn】为salesman_name,【parentColumn】为superior_id,【nullParentValue】为NULL。【nameColumn】表示级别【业务员名称】显示的值来源于列【salesman_name】,【parentColumn】表示父子关系中父亲值来源于列【superior_id】

image.png

(5)将父子维度【业务员等级】加入到多维数据集【保单资源分析】中

image.png

建立计算成员

在多维数据集【保单资源分析】中,新建度量值计算成员:

  • 【实际收入】=【新单保费】+【续期保费】=【退还保费】
  • 【实际收入环比】=【当前单位时间实际收入】/【上个单位时间实际收入】

建立一个维度计算成员,位于维度【区域_机构】,名称为【专业业务人员】,代表业务员中专门从事业务的人员,去除了其他工号、团体代理、银行保险、营销等部分。

(1)右键点击【保单资源分析】弹出快捷菜单,选择【Add Calculated Member】

image.png

(2)修改计算成员【New Calculated Member 0】属性,属性【name】为实际收入,【dimension】为 Measures,【formula】为

[Measures].[新单保费]+[Measures].[续期保费]-[Measures].[退还保费]

image.png

(3)用同样的方法设置计算成员【实际收入环比】,属性【formula】为

iif([时间].CurrentMember.PrevMember=null,null,([时间].CurrentMember,[Measures].[实际收入])/([时间].CurrentMember.PrevMember,[Measures].[实际收入]))

image.png

(4)用同样的方法建立维度计算成员【专业业务人员】,属性【dimension】为[区域_机构],【formula】为

[区域_机构].[区域分类].&[城区营业部]+[区域_机构].[区域分类].&[大客户业务部]

image.png

建立成员属性

为维度【险种_投保人类型分类】的成员【险种名称】设置成员属性【险种代码】 (1)右键点击维度【险种_投保人类型分类】下的级别【险种名称】弹出快捷菜单,选择【Add Property】

image.png

(2)修改级别【险种名称】的属性【table】为dim_policyholder_type

image.png

(3)修改添加的属性【New Property 0】的属性【column】为 insurantce_code

image.png

4.3.2.4 建立虚拟维度及虚拟多维数据集

以维度【险种_投保人类型分类】为基础,建立名为【险种_投保人类型分类】的虚拟维度。建立【虚拟维度分析】多维数据集,分析保单。

(1)右键点击【Schema】弹出快捷菜单,选择【Add Virtual Cube】,并修改对应属性【name】为虚拟维度分析

image.png

image.png

(2)为多维数据集【虚拟维度分析】添加虚拟维度,右键点击【虚拟维度分析】弹出菜单,选择【Add Virtual Cube Dimension】

image.png

(3)修改添加后的虚拟维度属性

image.png

(4)为虚拟多维数据集【虚拟维度分析】添加虚拟度量,右键点击【虚拟维度分析】,选择【Add Virtual Cube Measure】

image.png

(5)修改新添加的虚拟度量的属性,属性【name】为[Measures].[保单数量]

image.png

4.3.2.5 建立专有维度

以表【dim_distribution_channel_insurants】为列的提供者,为多维数据集【保单资源分析】,建立【销售渠道类型】专有维度 (1)右键点击【保单资源分析】弹出菜单,选择【Add Dimension】,并修改对应属性

image.png

image.png

(2)修改维度【销售渠道】新添加的层次属性,并添加表【dim_distribution_channel_insurants】

image.png

image.png

(3)为层次【销售渠道】添加级别【销售渠道类型】

image.png

(4)将维度【销售渠道】加入到虚拟数据集【虚拟维度分析】中

image.png