维度建模人员常常使用维度的粒度(Grain)这一概念。这意味着,对数据仓库架构和
ETL 团队而言,在业务上分析某个数据源,定义出维度的键值,确保此数据源相对应的粒
度定义是个挑战。常见的例子就是商业客户维度。简单的讲此维度的粒度是客户,可以肯定
的是给定了某个数据源文件,那么数据的粒度一定是由某些字段构成的。源文件中的数据异
常和细微差别极有可能破坏最初对粒度的假设。当然,我们可以做一个简单的测试,看一看
字段A,B,C 是否能够组成源表的主键:
Select A, B, C, count(*)
From dimensiontablesource
Group by A, B, C
Having Count(*) > 1
如果此查询返回了记录,那么字段A,B 和C 就不能组成维表的主键(也就是粒度)。
而且,此查询也能够帮助查出哪些行与假定不符。
--
we drink green tea