Powerbi

PowerBI DAX学习路线图 增强版(2018版)

2018-03-22  本文已影响3699人  PowerBI战友联盟

Excel120 在 3月初随着SQLBI.com的改版,也进行了学习补充,并就最新的Power BI学习路线图做了发布。本文发布为增强版,对之前的内容做一个更详尽的说明。

DAX级别划分

如果将PowerBI DAX学习者比作修行炼的忍者,则可以分为三个级别:

Power BI只要拖拽字段就可以实现可视化仅仅是表象,在其背后的 Vertipaq 引擎提供更加强大的动力支持;一旦开始写度量值就会一头雾水,而限于国内资料很少,大部分国内图书仍然是带大家入门,要解决实际业务的复杂问题并不容易。

如果真正度过第一个坎,便可以有以一当十之感觉,曾经一度迷恋Excel的公式的灵活的强大以及可视化的灵活多样甚至一去不复返了,这是一种变革性的魔力。

即使完全掌握了DAX的使用,而对于如何帮助实际企业完成数字化转型,进一步讲就是从业务中发现真正的指标(index),一旦发生变化如何驱动行为,以及如何在业务中计算其度量值(Measure),最终形成一套标准化指标体系(Metric)依然是个难题,因为在这部分甚至不是一个人能决定或完成的。虽然这表面与Power BI DAX无关,但Power BI DAX也许是帮助在业务中实现这些的基础,忘掉技术,从头再来。

DAX初学者

DAX初学者,刚刚进入DAX世界直到可以写简单的DAX表达式处理问题。

在这个阶段的正面表现包括:

在这个阶段的制约表现包括:

这类朋友通常希望Power BI能想他理想地一样美好,但随着业务的复杂提升,往往开始无法满足这个心愿。有一部分朋友会选择继续晋升到忍者阶段。

DAX忍者

DAX忍者,掌握了数据建模并可使用DAX处理各种实际问题。

在这个阶段的正面表现包括:

正是因为这些正面表现,使得这个阶段的能力可以处理很多在传统Excel中无法完成的工作,并依托自己的业务能力远远不再需要依赖于IT,有种:“给我一个数据库密码,就能撬起企业数据”的赞叹。

在这个阶段的制约表现包括:

这些疑惑的解除往往会寻求在<<DAX圣经>>的阅读中获得答案并实战。这类朋友开始习惯用DAX的思维习惯思考问题,并感受到DAX:simple but not easy。

DAX禅师

因为我不是DAX禅师,所以不知道怎么定义,但我希望禅师是这样的,也许和SQLBI有些类似。

DAX禅师,精通了DAX圣经及性能优化,对DAX各处细节了如指掌,分享并帮助他人成长

在这个阶段的正面表现包括:

达到这些级别的人,例如SQLBI的大师会发出这样的感慨:

We started learning DAX in 2010 and we are writing this book in 2015. Unbelievably, it took us five years to master the code of DAX and of the engine, with a lot of discussions and meetings with the development team in the meantime.
Doing that is still hard for us, too.
-- DAX圣经 第十一章末

大师的意思是:(添油加醋版)

别看表面上我们很牛,我们从2010年就可以搞这个了(在此前已经是SQL方面的多年用户),搞了5年才说自己掌握了DAX以及底层机制,也才写出了这本书,这些年不知道因为这么多坑找了微软开发组多少次去和他们撕,开了多少会来搞清楚这些问题,哎,能读到这书,只要多读几次,比我们都幸运。如果你感觉难,那太正常了,我们现在都仍然觉得难呢。

经过对大师博客、文章以及书籍的认真学习,体会到他们应该在思考包括但不限于:

再有就是我也领悟不到的东西了。很难想象他们从那个2010年,应该是Excel 2010的Power Pivot开始的,看到现在的Power BI,真心不会去用Excel 2010的Power Pivot。

学习路线图

PowerBI的老伙伴都知道,学习PowerBI的问题最终会归结为学习DAX的问题。而DAX存在于微软的三套工具中,他们分别是:

这些工具的对象用户略有不同,包括:

下面分别说明SQLBI更新的学习路线图:

如果从PowerBI开始

如果从Excel开始

如果从IT技术(SSAS)开始

SQLBI.COM 学习路线图参考:https://www.sqlbi.com/guides/dax/

强烈建议从Power BI开始。注意:而不是Excel PowerPivot。

重点书籍

在学习路线图中陆续出现了几本图书,它们的学习顺序大致为:

其中,免费图书为:

下载地址:https://aka.ms/Cj3zc4

其中,免费视频为:

https://www.sqlbi.com/p/introducing-dax-video-course/

另外,大部分图书的英文电子版已共享于Excel120 QQ群文件。

Power BI DAX 自我测评

对于有一定DAX基础的伙伴,建议可以可以先评估自我的Power BI DAX水平:


点击答题

提交您的Email地址或加入Excel120交流群,可以收到一份详尽的试题详解:


根据详解中给出了考点来明确自己存在的薄弱环节,再返回学习书籍。如果没有获得这个答案,可以关注Excel120留言索取

终极学习法

如果想彻底学会一件事物,就要彻底地学。如何才算彻底?穷举式地全部研究(而不是看)完。

对于一项技术,正如SQLBI大师所言,越研究越是坑,能爬出来就更加开朗。如果说有捷径的话,就是精读有限的被斟酌过最多次的书。什么叫斟酌,就是里面的每个用词都仔细地考虑过,所以作者必然是操作过所有细节的,以<<DAX圣经>>为例,我们来看看它被斟酌过的地方。

例如,对于 ALL 这个函数的解释,微软的DAX文档是这样解释的:( 阅读原文
Returns all the rows in a table, or all the values in a column, ignoring any filters that might have been applied. This function is useful for clearing filters and creating calculations on all the rows in a table.

中文是:

返回表中的所有行或者返回列中的所有值,同时忽略可能已应用的任何筛选器。 此函数可用于清除筛选器并对表中的所有行创建计算。

看一个例子,如果 DimDate表 有2556条记录,那么 CountRows( DimDate ) 返回2556条记录,如果与 DImDate 关联的 FactSales 在其中的1096天有销售记录,那么以下3个DAX表达式结果应该是多少:

  1. Calculate( CountRows( DimDate ) , FactSales )
  2. Calculate( CountRows( DimDate ) , All( FactSales ) )
  3. Calculate( CountRows( DimDate ) , Filter( All( FactSales ) , true ) )

答案是:公式1返回1096,公式2返回2556,公式3返回1096。请思考为什么?
DAX圣经中给出的答案在:Page 444。但书中第一次提及ALL的使用规则是在:Page 92。关于对ALL的英文描述包括:

如果您仔细考究它们是有严重区别的:

怎么样?有没有凌乱但有很细微的差异的感觉。

这里列举微软文档和SQLBI的说明,就是为了比对,官方文档的记载可能真没有考虑到这么细致;而SQLBI的书中则在每一个必要的环节都有所顾及,而如果是翻译的话(或者不加强调的用白话描述),能够在合理的地方做出这样精准的描述恐怕真的是太难了。

因此,研习英文版的DAX圣经是非常有必要的。

如果还有余力,建议研习的著作包括:


最重要的一件事情是,您应该关注:

上一篇 下一篇

猜你喜欢

热点阅读