前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PowerBI建模表与表关系

PowerBI建模表与表关系

作者头像
公众号PowerBI大师
发布2019-08-07 10:17:36
3.8K0
发布2019-08-07 10:17:36
举报

表与表关系

各位表哥表姐、表弟表妹们,我们生活一个表的世界,大家可能每天都在跟表格打交道,我们这节就来重新认识表这个家族。

1

数据表与Lookup表

在原有咖啡数据表的基础上请允许我再扩展四个小表格。

在查询编辑器中获取数据并整理好后,选择关闭并应用,数据就会被自动加载到数据模型中。我们在数据关系视图模式可以查看到加载的表。

现在开始设计模型的框架,表的分类一般有两种,数据表(又叫做事实表)和Lookup表(又叫做维度表)。

上面图中表的布局方式有多种,如星式结构,雪花结构等。对于初学者,建议按照上面这个Lookup表在上,数据表在下的结构去设计,完全可以满足大部分需求,这样的方法可以帮助你在后面的学习中按过滤器一样去思考,打开阀门,数据好像水流一样自上而下的从Lookup表流入数据表。

我们在《数据分析原理》中曾讲过,数据是由两部分构成,一个是类别,一个是度量值。

理想情况下,类别来自于Lookup表,度量值来自于数据表,如下图的数据透视表,往往1234筛选的字段为类别(数据来自Lookup表),值字段5为度量值(数据来自数据表)。

我们再看可视化图形中,往往轴和图例是来自于Lookup表的类别,值是来自于数据表的度量值。下面这个例子中年份月份来自于'日期表',体积来自于'杯型表',值销售量=数据表中数量列的求和。

2

建立关系

注意到在关系视图中,表与表之间是有关联的。这个关联是怎样建立的?'咖啡数据'中有每天的销售情况,'日期表'中有每天的日期和对应的年月日星期等。这两张表有共同的日期列,并且是一对多的关系(日期表中的日期是不重复的,咖啡数据中的日期会有重复多项)。

我们只要鼠标拖动'咖啡数据'中的[日期]到'日期表'中的[日期],松开鼠标,两张表的关系便建立起来了。现在可以清楚地看到“1--->*”代表着一对多的关系。

鼠标双击这个关系箭头线,可以看到具体的关系来进行进一步编辑。

同样的方法,我们把其他几张表关联起来,一个漂亮的数据模型基础就这样搭建成了,怎么样,没有想象的那么高深吧。在管理关系选项中可以看到几张表之间的联系。

我们为什么要建立关系呢?利用可视化图形中最像数据透视表的矩阵表来举例说明,插入一个矩阵,随意放几组数据,比如行放'区域负责人名单'表中的[年龄],列放'杯型'表中的[体积],值放销售量(数量列的求和)。一张年龄与杯子体积对应的销售量数据表展现在眼前。

注意到这里的行和列我们用的不是咖啡数据表里的数据!通过关系的建立,我们得以把所有的表中数据放在了一张表里,这就是数据模型的力量。

我们可以这样想象一下背后的过程,当我们在矩阵中选择Lookup表中的[年龄]和[体积]时,它好像赋予漏斗器一个数据筛选信号,这个信号自上而下由Lookup表流入了数据表中,以年龄24和体积360ml得出的数字1655为例,输出结果的过程分为两步,筛选和计算:

1)筛选-在数据表中的[城市]列筛选Lookup表中年龄"24”对应的城市(有南京、武汉、秦皇岛、安庆、赣州);再在[杯型]列筛选"小"因为360ml对应的是小杯。

2)计算-在筛选后的计算表里求数量列的加和。

如果没有Power Pivot,我们过去只能用扁平化方法,即使用Vlookup公式手工地把每张表的数据汇总到一张扁平的大表上,这样的老旧方法有几点常见弊端:

1)Vlookup输入公式的重复性工作

2)当数据量大时,Vlookup计算会让Excel缓慢运行或卡死

3)当Lookup表和数据表有更新时,不能及时更新到数据表中,甚至需要重新Vlookup

掌握了关联的知识,我建议在今后的数据处理中尽量抛弃把表扁平化的想法,你会发现它强大的力量。但这并不意味着Vlookup的扁平化方法变得一无是处,我们可以完全抛弃了,每一种方法都有自己的优劣,判断是否要用扁平化可参考下面这个小表。

本节举的例子是常见的一对多关系,在实践中可能会有更复杂的情况,比如多对一、多对多、筛选器箭头方向需要为双向等,为了避免知识的混淆,考虑到这种复杂情况相对较少,在本节我们先不做这方面的介绍。

此外,还需要特别嘱咐大家的是一对多关系是Lookup表与数据表的关联,切记不要在Lookup表之间建立关联;还有在多个数据表的情况下,也不要在数据表之间建立关联。

很多初学者学会了关联,看到两张表有相同的字段就去关联,然而这是没有意义的,而且会引起错误。任何知识都需要先理解了原理再去应用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI大师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档