Power BI处理的表往往是多个的,Power BI的优势就是打通来自各个数据源中的各种数据表,根据不同的维度、不同的逻辑来聚合分析数据,从而进行数据分类汇总和可视化呈现。前提是各个表之间需要建立某种关系,建立关系的过程就是数据建模。此外,根据分析的需要,还可以通过新建列、新建表、新建度量值等方式建立各类分析数据,也叫数据建模
数据建模的目的是构建多维度的可视化分析
维度表和事实表
维度表:同类型属性信息的集合,是对客户世界的定性描述,往往是没有数字的
事实表:数据明细表,是对定性数据的数据度量
Power BI数据建模的本质就是构建维度表和数据表之间的关系,建立数据表之间的关系就是建立维度表和事实表之间关联的过程
数据源
在Power BI Desktop中导入多个数据表后,可能同时需要这些表中的数据,那么就需要通过共同的字段栏位,将这些本来各自独立的数据表建立某种逻辑连接,将这些表创建关系(类似于Mysql中的主外键连接)
创建关系有自动创建关系和手动创建关系
将数据加载到Power BI Desktop中以后,进入数据建模层面。切换到数据视图或关系视图,在功能区打开【主页】|【管理关系】选项,在弹出"管理关系"对话框中,单击【自动检测】按钮
如果找到关系,则显示自动检测信息
如果没有找到,就会显示未检测到关系的提示信息
最后单击【关闭】按钮切换到关系视图,可以看到表与表之间建立了可用的关系(本案例)
用户可以自己手动创建关系,手动创建关系有两种方法
方法1:通过鼠标拖动字段创建关系
切换到关系视图,可以看到包含已加载到Power BI Desktop中所有数据表的字段信息
单击销售目标表中的"店铺名称"字段并按住鼠标左键,拖动到销售数据中的"店铺名称"字段上,此时两个表之间会出现一条连接线,表示已经建立了关系
提示Tips
如果要查看两个表之间通过哪个字段创建关系,可将鼠标放在连接线上,高亮显示的字段即是共同的关键字段
本案例的关键字段是"店铺名称"
方法2:通过对话框创建关系
将数据加载到Power BI Desktop中以后,进入数据建模层面。切换到数据视图或关系视图,在功能区打开【主页】|【管理关系】选项,在弹出"管理关系"对话框中,单击【新建】按钮,弹出"创建关系"对话框
在第一个下拉列表框中选择"销售目标",第二个下拉列表框会自动选择"销售数据" ,基数自动为一对多,默认勾选"使此关系可用"
单击【确定】按钮,弹出"管理关系"对话框
点击【关闭】按钮,切换到关系视图,创建关系后的结果如下所示
提示Tips
在默认情况下,Power BI Desktop会自动匹配新关系的基数和交叉筛选器方向
基数就是两个连接字段的对应关系
基数包括以下4种:
① 一对多(1: *):A表中的一条记录可以对应B表中的多条记录
② 多对一(*: 1):和一对多相反,B表中的多条记录对应A表中的一条记录(可理解为代表一个表中的关系列有重复值,而在另一个表中是单一值)
③ 一对一(1: 1):A表的一条记录只能与B表的一条记录对应(可理解为两个表是一对一的关系,列中的每个值在两个表中都是唯一的)
④ 多对多(*: *):A表中的一条记录能够对应B表中的多条记录;同时B表中的一条记录也能对应A表中的多条记录
"交叉筛选器方向"选项主要用于指定当具有关系的两个表筛选数据时,筛选效果的作用范围(可理解为表示数据筛选的流向)
交叉筛选器方向分为"单一"和"两个"选项
①单一:表示连接表中的筛选选项适用于被连接的表格,适用于周围仅有两个表(可理解为一个表只能对另一个表筛选,而不能反向)
②两个:表示在进行筛选时,两个表被视为一个表,适用于其周围具有多个查找表的单个表(可理解为两个表可以相互筛选)
对于已经创建的关系,可以通过"编辑关系"进行修改
方法1:切换到关系视图,点击在功能区【主页】|【管理关系】选项,弹出"管理关系"命令窗口
单击【编辑】按钮,会弹出"编辑关系"对话框,可以对关系进行修改,修改完后单击【确定】按钮
方法2:切换到关系视图,在关系视图界面中,直接双击关系连接线或者右击要修改的关系连接线,在弹出的快捷菜单栏中选择【属性】命令,也会弹出"编辑关系"对话框
对于不需要的关系,我们可以进行删除操作
方法1:切换到关系视图,点击在功能区【主页】|【管理关系】选项,弹出"管理关系"命令窗口,可以在"管理关系"对话框中单击【删除】按钮进行删除
方法2:切换到关系视图,在关系视图界面中,鼠标右击需要删除的关系连接线,在弹出的快捷菜单栏中选择【删除】命令进行删除
最终呈现结果如下所示