数据模型
在其他数据库构造前都需要了解一些E-R实体属性关系模型,以及一些常用的维度建模,在Power BI中也利用数据表之间的关系,实现多表连接,实现特定的业务场景所需的数据分析结果。
E-R模型
E-R实体关系模型在数据库概念模型中极为重要,通过实体之间的关系构成的数据模型将现实的实体抽象转换,存放进数据库中,需要注意的是在构建数据库是需要满足三范式。
- 1NF:满足列的原子性,需要保证表的每一列都是一个不可分割的原子项;
- 2NF:满足1NF的同时,需要满足非关键字段必须有唯一的主键;
- 3NF:满足2NF的同时,表中的每一列都存在直接相关,不能存在传递依赖。
常见的维度建模
雪花模型和星型模型是维度建模的常用的模型,维度建模是以业务实际的需求出发构建模型,构建的数据模型需要服务于业务实际,因此我们需要注重于快速响应需求,注重在面向业务方面的实现。
1. 维度建模的基本要素
维度建模的基本要素是维度表和事实表。
事实表:由两部分组成,维度和度量。主要用于保存事实记录,存储了大部分数据,是业务核心的体现。
维度表:存储定性的数据,比如时间、人物。
2. 星型模型
事实表位于中心,维度表直接与事实表直接建立关系(星型模型是更加适合Power BI建模使用的结构)
3. 雪花模型
通过规范化存储的维度表,多张维度表连接在一起。
Power BI数据建模
数据关联
在具有多个表的数据模型中,表与表之间的数据具有关联性,通过关系把相关联的两个表连接起来,并设置关系的类型和方向。关系用于连接两个表,是数据模型的重要组成部分。
关系的类型:
- 一对一:表示关系两端的列都是唯一列,不存在重复值;
- 一对多:表示关系两端的列,一方是唯一列,不存在重复值;而多方的列允许存在重复值;
- 多对多: 表示关系两端的列,都是存在重复值的列。
Power BI对关系的建立,在建模模块,在基数部分由很多选择,一对一、一对多、多对一、多对多四种可以被选择,其中交叉筛选器方向可以选择单一多双向的。在关系中,每一个关系都有一个或两个方向的过滤,单向的情况过滤是从关系的一方到多方,双向的情况过滤是从多方到一方。
数据建模需要考虑到何为事实表何为维度表,之间的基数、筛选方向也较为重要,对于后续的DAX公式计算有很大的影响。