欢迎光临散文网 会员登陆 & 注册

PowerBI之DAX神功:第1卷第1回 数据模型(表关系)

2021-08-01 07:41 作者:孙兴华zz  | 我要投稿

研究数据模型(表关系)之前先要搞清楚社会关系:

法律面前,人人平等!公司制度,只在公司内部有效!


图1-1

每个公司制度都要遵守法律,员工除了要遵守法律以外,还要遵守公司制度。

如果公司A要求上班时间是早8点,公司C要求上班时间是早9点,那么张三要求孙兴华也要8点上班,没有道理。

李四的公司B要求写程序必需使用英文变量,但是公司A和C没有相关规定,李四不能要求其它公司员工与他一致。

在周星驰电影《九品芝麻官》中,包龙星拿着明朝的上方宝剑斩清朝的官,尴尬至极,无奈表演吞剑。

从图1-1我们可以看到,法律是一张表,每部法律名称都是唯一的,例如《刑法》、《治安处罚法》....提到这些法律时,我们会说,根据某某法律第几章第几条规定.... 

但是,不同法律的可以约束不同的公司和不同的人,并不一定每条法律都适用于每个公司和每个人。例如,我们公司是卖服装的,我销售的服装质量不合格,你不能使用《食品安全法》处罚我。假设一个男性因怀孕被公司解聘,这时是不能使用《妇女权益保障法》进行维权。

所以,法律是一端,法律连接的多家公司(同时也可以是所有个人)他们属于多端,法律筛选公司(个人)谁适用哪条法,而当公司(个人)需要帮助时,可以从法律中获取信息。

法律------>公司(个人)

这是典型的一对多关系,表关系就是社会关系的映射:

一对多关系的由来,一端特点:不为空不重复

法律为何不能给每个人写一本?

公司制度为何不能给每个员工写一本?

大家都知道,数据库建立最初的想法,就是为了容量精简。

图1-2

图1-2,如果我们将每个学生的姓名,性别,身高,体重等信息都放在【成绩表】中,这样成绩表就会无限增加容量。但是如果将学生信息放到【学生表】中,而【成绩表】中只放必要内容,这样可以精简容量。我们需要学生信息时,再到【学生表】中获取数据。

1对多关系:

a. 通过1端主键连接多端外键

b. 1端主键不为空不重复

c. 多端外键要包含在主键元素之内【官方语言:实时参照完整性】

我们介绍完一对多的关系,再来聊一聊一对一的关系

一对一的关系有两种情况:

接下来,我们再谈一谈多对多关系

图1-3

如图1-3,遇到多对多关系时,我们通常不会让他们直接建立关系,在数据分析中表与表之间的关系应永远保持一对多。(及个别情况会有例外)

有人说这是一对一关系的表格,他的理由是两张表的学号一一对应,那你还没有搞懂社会关系那张表,你回答我:什么是一端?

一端,是主键那一端,主键要求不为空,不重复。两张表中的学号和课程编号都是重复的,他们是一对一吗?

处理方法:

图1-4

如图1-4所示,我们根据业务需求,将其中一个多端表,拆分成两个一端表,最终实现一对多关系

有人会说,自己的表它们之间关系复杂,无法拆分,那是你对自己企业内的业务不熟悉。

电视剧《无证之罪》很多人都看过,如果同样的案件交给你破,你肯定破不了,因为你不是侦探也不是警察。破案不是你的专业,也不属于你的业务。

回到案例上:拆表的工具是计算机知识,我们可以用SQL也可以用DAX,后面的课程会一一讲解。

你要知道你的表怎么拆,我告诉你拆的方法

因为表怎么拆这件事,是你的业务逻辑,与之后的分析相关

你自己的表,你自己搞不清关系,这就是业务问题。你看别人的案例没有用,那是人家的业务模型。

例如《孙兴华答网友问》,关于回答PowerQuery M函数问题时,我要求网友告诉我原表什么样,想变成什么样。至于为什么变成这个样,那是你自己的事情。【有太多人说不清楚自己想做什么,他用语言文字给我形容他的目的,这就是典型的业务不熟练】

例如:

一道数学题:原来有一筐篮球,小明借走5个,小华借走6个,这筐篮球少了多少个?

我家大兄弟第一次做这道题时跟我急了,他说,这题没说这筐篮球一共有多少个,我怎么知道少了多少个?后来我拿了一打百元钞票放在他面前,我说这钱我没数过,现在我从里面拿走500元,你说少了多少钱?他懂了。

这筐篮球没告诉你一共有多少个,但是告诉你小明+小华一共借走5+6个,这5+6就是你的业务和逻辑。计算机只负责计算。DAX的作用也是计算。

你不知道表怎么拆,那你问谁?你拿着企业的工资,你不懂业务?为什么当一个地区发生了重大安全事故时,有些官员会被罢免,很多百姓会有疑惑,但这就是责任,如果每个人都可以不负责任,你的企业和身处的社会将会变成什么样子?

这就回到了最初的问题,也是很多商人固执的问题,我并不反对大家学习英语,但是,在数据分析上面,业务和逻辑最重要,我努力的去引导大家,但是总有商家穿上马甲跑到我的视频里面喊英语重要,都学好是你的本事,但是吃哪碗饭,你就要重点的学习吃这碗的技能。

PowerBI之DAX神功:第1卷第1回 数据模型(表关系)的评论 (共 条)

分享到微博请遵守国家法律