文件名称:维度的基本加载计划-canon eos 70d数码单反摄影圣经
文件大小:4.73MB
文件格式:PDF
更新时间:2024-06-29 05:56:29
数据仓库 ETL SSIS
6.2 维度的粒度 维度建模人员常常使用维度的粒度(Grain)这一概念。这意味着,对数据仓 库架构和 ETL 团队而言,在业务上分析某个数据源,定义出维度的键值,确保此 数据源相对应的粒度定义是个挑战。常见的例子就是商业客户维度。简单的讲此 维度的粒度是客户,可以肯定的是给定了某个数据源文件,那么数据的粒度一定 是由某些字段构成的。源文件中的数据异常和细微差别极有可能破坏最初对粒度 的假设。当然,我们可以做一个简单的测试,看一看字段 A,B,C 是否能够组 成源表的主键: Select A, B, C, count(*) From dimensiontablesource Group by A, B, C Having Count(*) > 1 如果此查询返回了记录,那么字段 A,B 和 C 就不能组成维表的主键(也就 是粒度)。而且,此查询也能够帮助查出哪些行与假定不符。 抽取过程有可能会带来数据的冗余。比如,在非规范化的订单交易系统中, 订单的配送号(Ship Via)并不是存放在一个专门的码表中,而是全部直接存放 在订单交易表中,这样会有很多的重复。要创建维度模型,必须通过 SELECT DISTINCT 操作来建立 Ship Via 维表,这时候,源订单交易表中任何的数据异常都 可能带来数据的冗余。 6.3 维度的基本加载计划 反倒有些维度完全是由 ETL 团队建立,没有依赖外部的数据源,它们通常是 将操作代码转化为文本的小型查找维度。这种情况下并没有真正的 ETL 过程。而 这个小的维度表生成为一个关系表的最终形式。 真正重要的维度抽取是从一个或多个数据源开始的。我们已经描述过 ETL 数 据流的四个步骤。这里有一些与维度相关的特别的想法。