导言:如果不先对数据模型有个基本的理解,DAX里的任何一个函数都是没有意义的。
DAX圣经可以说是学习DAX这项技能绕不开的话题,今天,我们就从它的开篇第一章讲起,说说我个人的一些理解——为什么开篇第一章讲数据模型?而不是基础函数?
数据模型的概念其实很简单!其实就是构建了关系的一组表(当然整个模型也可以只有一张表),那么,要同样实现一个简单分析,表间有关系和没关系,有多大差别?
举个例子,比如下面的订单表、明细表、开票表,其中订单表和明细表建立了一对多的关系,而订单表和开票表没有建立关系:
- 01 - 表间有关系 公式好简单
对于已经建立了表间关系的订单表和明细表来说,假如要对“数量”进行求和统计,非常简单,直接将“数量”字段拖放到相应的图表中即可:
当然,如果要写度量,公式也非常简单,SUM一下就好了:
我前面的文章讲过,DAX的核心原理就4个字——筛选计算。 实际上,数据模型的建立,就是使得表间形成了自动的数据筛选关系,即可以自动地筛选出所需要的数据用于计算。这时,所有的基础函数都能很快地得到应用,发挥作用。
- 02 - 表间没关系 公式很复杂
接下来我们再看看没有关系的情况下,比如开票数量,也要实现类似的数量求和统计,公式该怎么写呢?
仍然是“筛选-计算”的原理,首先想办法把可以用于计算的数据筛选出来,但是,因为表间没有关系,所以数据的筛选需要自己通过对开票表写条件去筛选,然后再进行计算,如下所示(暂时没看懂也没有关系,后面我会增加DAX的内容):
从这里可以看出,在表间没有关系时,你必须自己去构建复杂的公式去筛选出所需的数据,然后才能进行计算!这时,基础函数一点用都没有!你不写个十分能装逼的公式,连个求和都做不了!
这就是为什么数据模型如此重要的原因,也是DAX圣经必须放在开篇第一章的原因:数据模型没有构建好,所有的函数都无用武之地!而模型的好坏,直接决定了你不需要通过额外干预自动得到筛选结果的程度——
模型做得好,DAX公式写得少!
模型没做好,函数用不了!
本文分享自 Excel到PowerBI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!