BI商务智能车险行业小项目介绍

- 项目描述

项目背景:车险行业中,各地协会按照每月统计本省的新车,非新车,商用车,乘用车的签单保费。
项目需求:根据业务源数据,制作报表展示:
透析表:查看不同公司各年、季度、月的销售额

-

项目框架

这里写图片描述
- 数据源分析
数据来源:EXCEL表,存储于某个文件夹内
表结构:
这里写图片描述
数据源描述:EXCEL表中包含多个工作表,每个工作表是河北省的一个市的各保险公司的保费情况,每个EXCEL表名都包含了统计的年份月份。

- DM模型设计

  • 物理模型

公司维度(表名称:COMPANY_DIM)
这里写图片描述
时间维度(DATE_DIM)
这里写图片描述
车辆用途种类维度(CAR_USED_DIM)
这里写图片描述
车辆新旧维度(CAR_TYPE_DIM)
这里写图片描述
地区维度(LOCAL_DIM)
这里写图片描述
事实表(FACT_PREMIUM)
这里写图片描述

DM实现

  • 创建DM用户以及创建表结构
    ORACLE用户名称:auto_insurance_dm
    登录SYS用户创建用户并分配权限
CREATE USER auto_insurance_dm IDENTIFIED BY 123456;
GRANT CONNECT,RESOURCE TO auto_insurance_dm;
  • 登录创建好的用户
    这里写图片描述
  • 创建DM层的表结构
--创建公司维度表
CREATE TABLE COMPANY_DIM(
C_ID NUMBER,
COMPANY_CODE VARCHAR2(50),
COMPANY_NAME VARCHAR2(50),
START_TIME VARCHAR2(50),
END_TIME VARCHAR2(50));

--创建时间维度(DATE_DIM)
CREATE TABLE DATE_DIM(
DATE_VALUE VARCHAR2(50),
DATE_YEAR VARCHAR2(50),
DATE_MONTH VARCHAR2(50),
DATE_QUATER VARCHAR2(50));

--创建车辆用途种类维度(CAR_USED_DIM)
CREATE TABLE CAR_USED_DIM(
C_ID NUMBER,
CAR_USED_CODE VARCHAR2(50),
CAR_USED_NAME VARCHAR2(50),
START_TIME VARCHAR2(50),
END_TIME VARCHAR2(50));

--创建车辆新旧维度(CAR_TYPE_DIM)
CREATE TABLE CAR_TYPE_DIM(
C_ID NUMBER,
CAR_TYPE_CODE VARCHAR2(50),
CAR_TYPE_NAME VARCHAR2(50));

--创建地区维度(LOCAL_DIM)
CREATE TABLE LOCAL_DIM(
C_ID NUMBER,
LOCAL_CODE VARCHAR2(50),
LOCAL_NAME VARCHAR2(50));

--创建事实表(FACT_PREMIUM)
CREATE TABLE FACT_PREMIUM(
C_ID NUMBER,
COMPANY_CODE VARCHAR2(50),
LOCAL_CODE VARCHAR2(50),
CAR_USED_CODE VARCHAR2(50),
CAR_TYPE_CODE VARCHAR2(50),
DATE_VALUE VARCHAR2(50),
F_VALUE NUMBER);
  • 公司维度实现
    主要思路:
    1. 数据源选择公司名称,公司编号字段流出,然后按照公司编号排序,去除掉公司编号为空的记录,然后去重;然后使用数据库查询,与目标表对比,筛选掉不需要更新和插入的数据;然后再使用数据库查询,对比,将新记录与需要更新操作的数据分开操作,对新纪录做插入操作,对需要更新的记录做更新操作,并且保留历史记录。
    2. 采用加时间戳的方式辨别有效记录和历史记录。
      这里写图片描述
      源数据操作
      这里写图片描述
      这里写图片描述
      这里写图片描述
      为记录排序,主要因为去重操作需要
      这里写图片描述
      筛选掉公司编码为空的记录
      这里写图片描述
      去除重复
      这里写图片描述

查询数据库,与流中数据做对比,返回对比表中的字段数据
这里写图片描述
筛选掉不需要更新和插入的记录
这里写图片描述
选择源数据的字段作为流出数据
这里写图片描述
将源数据的数据与目标表对比,按照公司编号对比,相同时返回目标表字段有数据,不相同时返回目标表字段为空值。
这里写图片描述
将数据通过筛选步骤分为两个流,一个为新纪录,一个为更新数据流
这里写图片描述
新纪录流字段选择,只保留源数据中的字段
这里写图片描述
获取系统时间
这里写图片描述
转换系统时间的格式
这里写图片描述
通过笛卡尔积将每个新纪录关联上一个系统时间,系统时间作为START_TIME
这里写图片描述
增加一个空值作为END_TIME
这里写图片描述
调用数据库中的序列
这里写图片描述

--创建序列
CREATE SEQUENCE COMPANY_SEQ
INCREMENT BY 1 --增长值为1,如果为负数,则是递减
START WITH 1 --从1开始递增
MAXVALUE 9999999 --最大值,MINVALUE为最小值的意思
--NOCYCLE:达到最大值后不循环
--NOCACHE:不对序列进行缓冲
--CACHE:对序列进行缓冲,对序列进行缓冲,可以改善序列的性能
--CYCLE:达到最大值后循环
NOCYCLE NOCACHE;

插入到数据表
这里写图片描述
以上新纪录的操作完毕,以下是旧数据的更新和历史数据保存操作

在使用筛选记录步骤分拨数据时,字段选择4,为需要做旧数据的更新和历史数据保存操作的流
这里写图片描述
由于筛选记录步骤只能连接两个步骤,因此字段选择四将流出的所有字段都选择
这里写图片描述

然后在通过两个字段选择,分别选择对应需要做历史数据保留操作所需的字段,和需要做更新数据操作的字段;历史数据保留操作就是将目标表的END_TIME更新为系统时间;
更新数据直接将数据插入到目标表中并将start_time置为系统时间,end_time为空。
这里写图片描述

  • 日期维度(存储过程)
CREATE OR REPLACE PROCEDURE P_DATE_DIM(
START_DATE IN STRING,
END_DATE IN STRING)
IS
v_date DATE;
v_year VARCHAR2(20);
v_month VARCHAR2(20);
v_quater VARCHAR2(20);
v_count NUMBER;
v_number_month NUMBER;
v_str_date VARCHAR2(20);

BEGIN
  SELECT COUNT(*) INTO v_count FROM DATE_DIM;
  IF v_count>0
    THEN DELETE FROM DATE_DIM;
    COMMIT;
  END IF;

  v_date := TO_DATE(START_DATE,'YYYY-MM');
  LOOP
    v_year := SUBSTR(TO_CHAR(v_date,'YYYY-MM'),1,4);
    v_month :=SUBSTR(TO_CHAR(v_date,'YYYY-MM'),6,2);
    v_number_month := TO_NUMBER(v_month);
    CASE
      WHEN v_number_month >=1 AND v_number_month<=3
        THEN v_quater :='第1季度';
      WHEN v_number_month >=4 AND v_number_month<=6
        THEN v_quater :='第2季度';
      WHEN v_number_month >=7 AND v_number_month<=9
        THEN v_quater :='第3季度';
      WHEN v_number_month >=10 AND v_number_month<=12
        THEN v_quater :='第4季度';
     END CASE;
      v_str_date :=TO_CHAR(v_date,'YYYY-MM');
      INSERT INTO DATE_DIM VALUES (v_str_date,v_year,v_month,v_quater);
      v_date := ADD_MONTHS(v_date,1);
      EXIT WHEN v_date > TO_DATE(END_DATE,'YYYY-MM');
  END LOOP;
  COMMIT;
END;

--调用存储过程
BEGIN
   P_DATE_DIM('1994-01-01', '2030-12-31');
END;
--查看表
SELECT DATE_VALUE,DATE_YEAR,DATE_MONTH,DATE_QUATER FROM  DATE_DIM;
  • 车辆用途种类维度实现
    采用手录的方式实现:
    创建序列
CREATE SEQUENCE CAR_USED_SEQ--创建的序列
INCREMENT BY 1 --增长值为1,如果为负数,则是递减
START WITH 1 --从1开始递增
MAXVALUE 100 --最大值,MINVALUE为最小值的意思
NOCYCLE NOCACHE;

向表中插入数据

INSERT INTO CAR_USED_DIM VALUES(CAR_USED_SEQ.NEXTVAL,1001,'商用车',TO_CHAR(SYSDATE,'YYYY-MM-DD'),NULL);

INSERT INTO CAR_USED_DIM VALUES(CAR_USED_SEQ.NEXTVAL,1002,'乘用车',TO_CHAR(SYSDATE,'YYYY-MM-DD'),NULL);

车辆种类(新车/非新车)维度(CAR_TYPE_DIM)
手动插入

SELECT * FROM CAR_TYPE_DIM FOR UPDATE;

这里写图片描述
这里写图片描述
这里写图片描述

  • 地区维度(LOCAL_DIM)
    主要思路:数据源EXCEL表工作表名称代表河北省的市区,获取工作表名称,添加工作表字段,将地区名称提取出来,然后单独选择出地区名称字段,去重去空值,然后与目标表对比,过滤出新纪录,添加两个序列,一个用作ID,一个用作地区编号,插入到目标表。
    这里写图片描述
    这里写图片描述
    获取工作表名称,添加工作表字段
    这里写图片描述
  • 事实表(FACT_PREMIUM)实现
    这里写图片描述
    EXCEL输入
    这里写图片描述
    过滤掉空值
    这里写图片描述
    值映射构造时间字段
    这里写图片描述
    利用四个字段选择,将流中的结构转换一下
    这里写图片描述
    这里写图片描述
    通过MERGE JOIN(一定要记得排序) 与维度表关联将流中的车辆种类、new_type、local_name做关联,然后选择维度表中对应的编码字段
    这里写图片描述
    最后添加序列,插入目标表中
    这里写图片描述
    创建JOB实现全量加载
    这里写图片描述
    在执行转换前将目标表所有数据TEUNCATE
    这里写图片描述

报表展示

  • 建立RPD
    建立RPD有联机打开和非联机打开
    这里写图片描述
    非联机打开:
    创建好RPD,或者修改RPD后,每次需要登录http://172.18.48.112:7001/em/,更新RPD到主题区域,否则在创建分析时,看不到创建或修改RPD对应的主题区域
    联机打开:
    创建创建好RPD,或者修改RPD后,不用登录http://172.18.48.112:7001/em/,更新RPD,直接保存,在创建分析时可以直接看到该RPD对应的主题区域。

流程:物理层–逻辑层–展现层
物理层
创建资料档案库
这里写图片描述
右击选择物理表图–仅限所选对象
这里写图片描述
建立物理层外连接:
有两种结构:1.雪花模型
这里写图片描述
2.星状模型
这里写图片描述
在这里我们使用星状模型
这里写图片描述
将事实表与其中一个维度连接到一块
这里写图片描述
依次类推建立好星状模型
这里写图片描述
保存。

  • 逻辑层
    可以删除没有用的字段,进行层次构造,以用于在报表中实现钻取,设计事实表的聚合方式。
    这里写图片描述
    对事实表中的值设计聚合方式,双击F_CALUE
    这里写图片描述
    这里写图片描述
    建立时间维度钻取,右击创建逻辑维–基于层次级别的逻辑维
    这里写图片描述
    然后多了
    这里写图片描述
    选中DATE_DIM_DETAIL,右击,新建对象–父级
    这里写图片描述
    这里写图片描述
    在MONTH上建立父级QUARTER,然后建立父级YEAR,将字段拉到对应的层次下
    这里写图片描述
    创建逻辑关键字
    这里写图片描述
    选中,右击,新建逻辑级别关键字–确定,依次建立
    这里写图片描述

展现层

将逻辑层的模型直接拖到展现层,更改展现层的名称,更改图标等。
展现层表重命名:选中表,右击–重命名,修改即可
这里写图片描述
展现层,字段重命名
这里写图片描述
双击
这里写图片描述
修改图标:选中右击–设置图标,选择要使用的图标即可
这里写图片描述

建立分析

登录http://tom.lan:7001/analytics/saw.dll?bieehome&startPage=1,填写安装时配置的用户名及密码。(注意有些浏览器支持打开,有些浏览器不支持)

点击新建
这里写图片描述
点击建立分析对应的主题区域
这里写图片描述
在“打开”中可以查看已经建立好的分析,可以选择打开建立的分析,对分析进行修改编辑
这里写图片描述
新建分析后
这里写图片描述
可以编辑字段的排序,对字段使用公司计算,编辑过滤器筛选数据
这里写图片描述
结果展示编辑
这里写图片描述
添加分析提示,点击新建提示,选择列提示,选择基于哪个列建立提示
这里写图片描述
再次选择了公司名称的列建立提示,点击选项进行配置,选择特定列值选项,将需要的值放到右边,默认选择为当打开时默认勾选的值
例如默认为空值时
这里写图片描述
这里写图片描述
这里写图片描述
保存分析
这里写图片描述
这里写图片描述

  • 建立仪表盘
    这里写图片描述
    为仪表盘命名,记住存储路径
    这里写图片描述

然后到仪表盘编辑的界面
这里写图片描述
这里写图片描述
然后保存,运行
这里写图片描述
这里写图片描述
点击确定,展示一下界面
这里写图片描述
这里写图片描述

ending…

目录 2 一、 前言 5 1. 定义 5 2. 用途 5 二、 BI项目二期建设目标 5 1. 系统的功能体系结构概述 5 2. 总体功能体系结构说明 6 1) 日常业务报表 8  定制脱机报表 8  联机报表查询 8 2) 业务探索式分析(OLAP) 8 3) KPI指标分析报告 9 3. 系统流程 10 1) 系统总体流程 10 2) 日常业务报表处理流程 11 3) 业务探索式分析(OLAP)处理流程 12 4. 数据说明 12 1) 总体数据说明 12 2) 系统数据来源详细说明 14 3) 日常业务报表分析处理数据说明 14 4) 业务探索式分析OLAP处理数据说明 14 5. 系统界面基本形式 15 三、 某零售集团BI系统运行环境 15 1. 软件环境 15 1) 软件环境配置图 15 2) 软件环境配置说明 16  客户端软件 16  BI应用 16  中间件 16  数据库管理系统 17  操作系统 17 2. 网络与服务器环境 17 1) 网络与服务器配置图 17 2) 网络与服务器配置说明 18  某零售集团信息仓库ODS服务器配置 19  某零售集团信息仓库OLAP服务器配置 20  某零售集团信息仓库Web应用服务器配置 21 四、 某零售集团BI项目需求分析的任务概述 21 1. 对一期需求业务的重新整理、归类、筛选和补充 22 2. 跨业态商流、物流分析 22 3. 决策支持系统 22 4. 数据交换平台 22 五、 某零售集团BI项目需求分析的对象 23 1. 区域/业态 23 1) 中等超市业态子公司主题分析 23  运营分析 23  商品分析 24  合同 24  订货 24  销售 24  旬报 24  供应商 24  品类KPI指标 24  品类组KPI监控 24  品类组业绩监控 24  供应商分析 24  供应商基本查询 24  供应商供应结构分析 24  供应商供货能力分析 24  供应商销售分析 24  供应商库存分析 24  供应商贡献度分析(KPI) 24 2) 加盟店分析 24  进货分析 25  销售分析 25  库存分析 25  要货分析 25 3) 大卖场业态子公司主题分析(将来纳入) 25 4) 便利店业态子公司便利主题分析(将来纳入) 25 5) 江苏分公司主题分析(将来纳入) 25 6) 浙江分公司主题分析(将来纳入) 25 2. 跨业态商品分析 25 1) 定牌商品主题 25  销售主题 25  库存主题 25  定牌商品结构分析 25  定牌商品供货能力分析 25  定牌商品贡献度分析(KPI) 25 2) 联合采购商品主题 25  供应商主题 25  库存主题 25  销售主题 25  联合采购效果评估(KPI) 25 3) 生鲜商品主题 25  销售统计报表 25  销售跟踪报表 25 3. 中仓分析 26 1) 中仓库存分析 26 2) 中仓进发货分析 26 3) 门店向中仓要货统计 26 4. 决策分析 26 六、 日常业务报表分析的详细内容 26 七、 多个业务因素、多角度、随机式探索式分析OLAP 26 1. 探索式分析功能概述 27 2. 探索式分析的形式 27 3. 探索式分析所提供信息内容 28 4. 探索式分析的基本操作 28 八、 决策支持系统 29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值