来到公司已经参与开发了一段时间的BI项目,但是仅仅是按照需求开发,今天下午公司给大家培训数据仓库的知识,老大(女程序员)在上面讲,我们在下面听,2到3个小时吧,什么纬度,主题,几乎听的一脸茫然,最后演示了基于BI的成本分析系统,感觉好复杂,主要是对于医疗项目的业务,反正挺繁琐的。做这个项目的目的主要是给实施人员使用,再由实施人员教客户使用,进而指定自定义的报表(数据量很大,表都是上百万的数据),记一下,有空研究一下数据仓库。

目前说白了,就是为了进行数据汇总,分析,如果不采用数据仓库,直接查询数据库,需要大量的join,并且表数据量大,影响数据库效率(水平分表听过,不怎么会用,目前主要建立临时表存储,但是数据量还是很大),所以建立数据仓库。同时各家医院对于成本分析的指标不一致,所以报表需要客户自定义,所以不能直接写SQL固化的程序中,不过目前我们就是固化。(每次发布一次报表,需要2,3个小时)。

参考技术:开源的mondrian与jpivot

====================================================================================================

1.数据源

2.创建视图(选择表,设置表关系)[]

3.创建cube立方体

4.创建维度,度量(指标,衍生指标)

5.设计页面

6.发布,设置权限

====================================================================================================

所以要开发基于数据仓库的BI分析系统,主要对医院指定的指标进行数据分析,产生报表,但是指标各个医院不一致,关注的数据不一致,所以报表(图标)是可自定义的。

DB-ETL-ODS-DW-DM-OLAP-APP(数据层DW-应用层OLAP-门户服务APP)

基于数据的数据交换平台-ESB服务总线(数据中心)

基于雨雾的流程管理平台-BPM,SOA

基于业务的渠道系统(OLTP系统)

====================================================================================================

1.ETL过程刷新数据

2.配置主题元数据

3.界面展现(自定义图表)--针对不同的指标进行数据分析

====================================================================================================

存储:

  单独的一个库------多个库存储

  单独的一个库------表切分(水平--切列   垂直---切行)

  单独一个库(DB)--------临时库(ODS)-----小库(DM集市)----------分析库(DW)(这样就存在一个数据转移过程,也就是ETL过程)

====================================================================================================

自定义报表查询:

===================================================================================================

一个重要的概念:

  指标:

    指标就是一个度量,可以认为一个度量或者一个度量的计算

  为什么:

    通过OLAP多为分析,对分析的结果(按照指定的维度进行分析的数据--汇总数据),重新建立维度(这就是指标的真正含义),再次进行多维分析,把这个维度就叫做指    标。

  指标:就是对象OLAP的分析结果再次进行建模分析,而这个维度就叫做指标。

    立方体:--切块:就是指标分析

    切面,片---------就是简单的OLAP多维度分析

====================================================================================================

1.OLAP:异构集成平台(面向主题)--------------雪花模型或者星型模型-----多角度分析(查询性)

2.OLTP:单一系统(面向业务)---------------------ER模型-----------------采集数据(事务性)

3.星型模型(一个中心-一个事实表),雪花模型(多个中心-多个事实表)

DB与DW之间可以存在ODS(操作型的数据仓库),他是一个过渡层,降低业务系统查询的压力。

=====================================================================================================

纬度表:(主要存储事物的详细描述信息,)

事实表:主要存储数据(数据可以进行汇总----外键关联纬度表)--------度量值

应用:上卷/下钻,切片/快,旋转/转轴。----类似的比如报表里面的,父子表,类似与连接表查询

一下几个图来源:http://www.cnblogs.com/honkcal/archive/2011/07/15/2107172.html借鉴一下,图示比较明确

 

上面类似的表格分析,大家估计都做过,只是没有概念,仅仅是客户的要求,我们采取SQL给他们实现,没有科学理论对其进行认证的分析(父子表,行转列,子查询表)。

个人感悟:

数据独立存储,不存储其他详细描述信息---事实表(外键关联详细事,是你要关注的内容就是一些数据,即某一纬度的度量的汇总,主要是数据信息),纬度表(主题具体的角度,涉及比较详细信息,主要是文本信息,是度量的描述)

=====================================================================================================

类似开发中我们常见的表样:http://www.cnblogs.com/gstsyyb/p/3365930.html,其实类似这种报表完全可以做成可定制的报表也就是所谓的自定义纬度(对于客户来说就是他们的指标KPI)

BI开发(ETL-DW)的更多相关文章

  1. R语言作为BI中ETL的工具

    R语言作为BI中ETL的工具,增删改 R语言提供了强大的R_package与各种数据库进行数据交互. 外加其强大数据变换清洗函数,为ETL提供一条方便快捷的道路. RODBC ROracal RMys ...

  2. SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识

    原文:SQL点滴17-使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识 在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息 ...

  3. PowerApps和Flow,Power BI开发

    为PowerApps和Flow,Power BI开发自定义连接器 作者:陈希章 发表于 2017年12月20日 前言 我在之前用了几篇文章来介绍新一代微软商业应用平台三剑客(PowerApps,Mic ...

  4. 为PowerApps和Flow,Power BI开发自定义连接器

    作者:陈希章 发表于 2017年12月20日 前言 我在之前用了几篇文章来介绍新一代微软商业应用平台三剑客(PowerApps,Microsoft Flow,Power BI),相信对于大家会有一种跃 ...

  5. 设计和开发ETL系统(二)——启动

    在针对某个维度模型开始ETL系统设计之前,应当完成逻辑设计,草拟高层架构计划,并且为所有的数据元素拟定源到目标映射. ETL的设计过程十分重要: 收集所有的相关信息,包括事物处理系统中所允许的提取处理 ...

  6. BI之ETL学习(一)kettle

    最近开始折腾数据,起源是多业务数据源需要转换到数据分析平台.这个过程需要跨机器,跨库.同时还需要将业务数据表的内容进行转换,合并,清洗等等操作. 经过多方选型,最终决定使用kettle来作为数据抽取处 ...

  7. SQL使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识

    在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息,今天把自己工作过程中经常用到的一些数据库引擎存储过程,系统视图等等总结一下以备不时之用.下面 ...

  8. 用友财务总帐(GL)模BI数据ETL分析

    业务需求,如下面的: 现在用友总帐一家公司BI分析案例. /* Sql Server2012使用作业设置定时任务,为了保证有一天运行时间 */ /* 意temp1表里一定要保证要有记录,否则以temp ...

  9. 设计和开发ETL系统(一)——ETL过程综述

    在这部分将按照设计和实现ETL系统的流程展开,将上一个部分的那些子系统按照提取数据.清洗和一致化.向呈现服务器提交以及管理ETL环境等四个方面进行了分类.(是不是说对ETL主要就是掌握这四个方面的内容 ...

随机推荐

  1. ABP .Net Core To Json序列化配置

     一. 前言 我们采用ABP架构用MVC Controller或Web API返回给前端结果ToJson序列化后得到的属性命名都是采用js的驼峰格式,即首字母小写,后面单词首字母大写的格式(如:后台属 ...

  2. SWIFT中函数返回值为Tuple

    在playgroundm内键入以下代码,求一个成绩数组内最大分值和最小分值 func maxminScore(scores:Array<Int>) -> (maxScore:Int, ...

  3. 1.1.3 A+B for Input-Output Practice (III)

    A+B for Input-Output Practice (III) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...

  4. Size类型如何调用和定义

    cv::Size sz = cv::Size(PROB_W, PROB_H);//Size(srcimage.cols, srcimage.rows) groundtoimage(xylimit, u ...

  5. liunx用户管理的基本命令

    1.passwd   修改用户密码 2.useradd 用户组名         增加用户组 3.su 用户名     切换用户名 4.usermod   用户更改 5.userdel    用户删除

  6. 解决安装vmware-tools出现的“The path "" is not a valid path to the 3.2.0-4-amd64 kernel headers”问题

    在用虚拟机安装使用64位Crunchbang(一种Debian GNU/Linux 的linux)的过程中出现很多小问题.其中vmware-tools安装就是第一个问题. 在使用终端安装vmware- ...

  7. 用户态监控网络接口up、down事件

    网上搜索(https://blog.csdn.net/qq123386926/article/details/50695725)可以直接使用netlink现成的接口实现: #include <s ...

  8. 使用 Python 连接到 PADS Layout

    使用 Python 连接到 PADS Layout PADS Layout 使用的是 VBA 编程,很多人说 VBA 很简单,但是实在学不会,可能是太笨了. 后来发现 PADS Layout 有 CO ...

  9. centos6 安装GitLab

    环境 Requirements 软件 版本CentOS 6.6Python 2.6Ruby 2.1.5Git 1.7.10+Redis 2.0+MySQL GitLab 7-8-stableGitLa ...

  10. Python与机器学习

    pandas里面的对于数据操作比如where,drop以及dropna等都会有一个属性:inplace,这个单词意思是原地,如果inplace=true代表数据本身要返回(原地数据也会被改变):如果i ...