一脉相承,ETL和BI设计的准则
文章来自:天善智能社区 作者:杨威利
维度建模Dimensional Modeling在Kimball生命周期中承上启下,ETL以之为目标设计数据主线,BI以之为基础设计应用主线。
数据主线的设计可遵照Inmon理论,自下而上划分成多源数据Data Source、数据仓库Data Warehouse、数据集市Data Mart三段;应用主线的设计可参照《金字塔原理》,自上而下按Dashboard-Analysis-Report从总到分依次展开。
JDI Global的Data Source中运行着多个联机事务处理Online Transaction Processing(OLTP)系统,在企业资源计划Enterprise Resource Planning(ERP)系统中存储着与供应链Supply Chain、财务Finance、生产制造Manufacturing、人力资源Human Resource相关的业务单据;在客户关系管理Customer Relationship Management(CRM)系统中存储着以KA为中心的业务单据;在零售Point Of Sale(POS)系统中存储着面向CO的业务单据。
由于ERP系统既和CRM系统共有维度KA,又和POS系统共有维度Product,所以在Data Warehouse中首先就得建立统一的维度表Dimensional Table以保障维度KA、Product以及Time、FA、DC、CO的主数据一致性;同时可参照维度模型建立对应的事实表Fact Table,如Sell-In、Sell-Out、In-Bound与之前设计的三个维度模型相匹配;另外还可按照JDI Global的业务职能对Fact Table进行分区,如将Sell-In、Sell-Out、In-Bound划入Supply Chain区,相应地还能再划分出Finance、Manufacturing、Human Resource等区域。在Data Warehouse中分区既有效率方面的考虑,如SC Group的业务用户必然会频繁调用Supply Chain区的Fact Table,因此分区有利于Data Warehouse整体性能的提升;也有安全方面的顾虑,如禁止SC Group的业务用户越权访问其他区域的Fact Table。
通常,Data Warehouse中Fact Table的粒度都会与OLTP系统中业务单据的粒度保持一致,如Sell-In沿袭了ERP系统中业务单据Goods Issue Note的粒度,即维度Time、Product、KA、DC最细粒度的组合。为寻求数据量和业务用户对细节要求之间的平衡,在Data Mart中需对Fact Table依照维度间不同粒度的组合进行聚合,如对Sell-In在Month、Category、City层面作较细粒度的聚合Fine-Grained Aggregation和在Quarter、Engine、Province层面作较粗粒度的聚合Coarse-Grained Aggregation。聚合时所选择的粒度越粗,丢失的细节就越多,但相对地,数据量会越少,Data Mart的性能会越高,业务用户的体验会越好。因此,在不同程度上以牺牲Fact Table的细节为代价换取适量的性能调优和体验改善不失为合理的Data Mart分层策略。
金字塔原理是一种重点突出、主次分明、脉络清晰的逻辑思路和表达方式。其基本方法是先重要后次要,先全局后细节,先结论后原因,先结果后过程。其具体做法是自下而上地思考,自上而下地表达;纵向总结概括,逻辑递进;横向归类分组,归纳演绎。
模仿这种中心思想明确,结论先行,以上统下的逻辑思维方法与表达呈现方式,BI设计先在Dashboard中直观地表明论点Conclusion,如基于Data Mart的Coarse-Grained Aggregation层展现总体绩效Overall Performance;再在Analysis中结合定性判断Qualitative Judgement和定量研究Quantitative Research论证论点,如基于Data Mart的Fine-Grained Aggregation层展开多维比较Multi-Dimensional Comparision和个体探查Individual Exploration;最后在Report中展示支持论证的论据Argument,如基于Data Warehouse的Fact Table输出原始数据Raw Data。反之,若Report中的论据准确且充分,Analysis中的论证合理且缜密,那么Dashboard中的论点必定能让业务用户理解和接受。以项目[DOT/SOT]的BI设计Delivery Precision为例,具化金字塔原理的可视化应用。
Dashboard在标题栏直观地展现了On Time和Total Booking两个KPI在当前Quarter的绩效,并初步按Product和KA两个维度在Engine和Province层面进行粗粒度的分解。颜色的渐变标识On Time比率的高低,越趋于深绿,绩效越好;形状的大小辅助说明Total Booking数量的多少,条形越长,规模越大。
Summary Analysis进一步按Time、Product、KA三个维度在Month、Category、City层面进行细粒度的分解,通过三维交叉比较对绩效的优劣深入地定性判断。
Detail Analysis以On Time和Total Booking Growth两个KPI为横纵坐标将绩效矩阵划分成Excellent、Good、Average、Below四个象限,帮助业务用户在不同的归类分组中对维度KA的个体Store进行观察探索和定量研究。
Report用透视表输出Raw Data,从Availability、Logistics、Not In Full、Rejects、Other五个业务角度补充说明Not On Time的原因,也为业务用户个性化的自助分析提供了数据基础。
↓↓↓ 点击"阅读原文" 【查看更多信息】
天善智能 www.hellobi.com 是一个专注于商业智能BI、数据分析、数据挖掘和大数据技术的垂直社区平台。
问答社区和在线学院是国内最大的商业智能BI 和大数据领域的技术社区和在线学习平台,技术版块与在线课程已经覆盖 商业智能、数据分析、数据挖掘、大数据、数据仓库、Microsoft BI、Oracle BIEE、IBM Cognos、SAP BO、Kettle、Informatica、DataStage、Halo BI、QlikView、Tableau、Hadoop 等国外主流产品和技术。
线上活动:Friday BI Fly 每周五晚 20:30,技术和行业交流,20余个微信直播群互动交流。
线下活动:Saturday BI Fly 在全国各大城市巡回举办200人-500人规模的大数据沙龙交流活动,每月1-2次。
天善智能积极地推动国产商业智能 BI 和大数据产品与技术在国内的普及与发展