DAX 的由来
从 SQL Server 2012 开始,微软推出了 SSAS Tabular Model ,从那以后,SSAS 开始支持两种模型:Multidimensional Model 和 Tabular Model.虽然它们共享部分代码,但几乎可以认为是两种完全不同的产品,多维模型已经为人所熟知,而表格模型是一个比较新的概念,无法评价哪一个更好,因为它们有各自的使用场景和优劣,比较严谨的说法是:多维和表格模型互为补充。
表格模型的意义在于 提供了一套具备企业级数据库分析性能的轻型工具(Excel Power Pivot、Power BI)和一门易于上手的分析语言 DAX
DAX 是什么
DAX 全称 Data Analysis Expressions ,即数据分析表达式。是一门函数语言,用于 SSAS 表格模型,而 Power Pivot 和 Power BI Desktop 本质上运行的都是 SSAS 实例,只不过根据各自应用场景对功能做了精简。所以学会了 DAX 函数,可以方便的在 Excel/Power BI/SSAS 三者之间切换,从自助 BI 到企业 BI 距离从未如此之近。
使用 DAX 推荐的硬件配置
工欲善其事必先利其器,经常看到群里有人抱怨 PowerPiovt 报错,除去一部分软件自身的 bug 之外,有相当多的情况是由于电脑配置过低导致,所以有必要再次强调,想要获得流畅的使用体验,务必:使用 64 位版本 Office 且内存不低于 4G
DAX 能处理多少数据
忽略使用 32 位版本的用户,DAX 可以处理的数据量由内存容量的上限决定,PowerPivot 可以较为轻松的分析几百万行数据,具体的存储量还取决于数据结构,与 Access 2G 的最大容量相比,PowerPivot 不但存储数据量更大,还具备关系数据库的分析能力,完胜 Access。那么具备完整 DAX 引擎的 SSAS 表格模型性能又如何呢?
- 1000 万行:无压力
- 1 亿行:优化语句的效果开始显现
- 10 亿行:考虑优化数据结构和检查数据分片的大小
- 100 亿行:考虑执行不同粒度的聚合
- 1000 亿行:比较难搞,但也不是毫无办法。
DAX 知识体系
注:以下内容为个人总结,供参考
整体看来,可以将 DAX 知识体系划分为分析师路线和专家路线,从业务线转型的数据分析人员,掌握概念、函数和实战套路这三章就可以开始体会到 DAX 的威力,显著提升业务分析水平甚至“跨界攻击”的能力。而如果想成为 DAX 专家,需要进一步掌握引擎内部运行机制和模型优化知识,以胜任操控企业级架构的能力。
认识 DAX:入门
概念:DAX 体系的基石,掌握高级 DAX 必备
函数:基础部分 Excel 用户容易上手,高级函数 DBA 更熟悉
实战:学以致用,从基础到套路,难度大幅度提升
DAX 引擎:走上成为 DAX 专家的不归路
模型优化
掌握 DAX 查询机制
DAX 调优:Highly Expensive
一句话总结:Dax is easy to learn,very hard to master.
DAX 函数易于学习,但非常难以掌握。
入门必读 系列文章 (更新完结)
说点什么