Excel DAX - 概述

DAX代表 Data Analysis Expressions. DAX是一种公式语言,是函数,运算符和常量的集合,可以在公式或表达式中用于计算和返回一个或多个值. DAX是与Excel Power Pivot的数据模型相关联的公式语言.

它不是一种编程语言,而是一种允许用户在计算列中定义自定义计算的公式语言计算字段(也称为度量). DAX可帮助您根据数据模型中已存在的数据创建新信息. DAX公式使您能够执行数据建模,数据分析,并将结果用于报告和决策.

DAX包含Excel公式中使用的一些功能,但功能已修改以及用于处理关系数据和执行动态聚合的其他函数.

DAX的重要性

DAX的基础是数据模型是Excel中的Power Pivot数据库.数据模型由表格组成,在这些表格之间可以定义关系,以便组合来自不同来源的数据.可以在源数据更改时刷新与数据模型的数据连接. Data Model使用Power Pivot xVelocity内存分析引擎(VertiPaq),除了可以容纳数千行数据外,还可以使数据操作尽可能快.有关数据模型的更多信息,请参阅教程 -  Power Pivot.

DAX与Data Model一起启用Excel中的多种电源功能 -  Power Pivot,Power PivotTables,Power PivotCharts和Power View .您可以使用DAX解决许多基本计算和数据分析问题.

DAX在Power BI中也很有用,可以创建新的Power BI Desktop文件并将一些数据导入其中.此外,DAX公式提供的功能包括分析不同产品类别和不同日期范围的增长百分比,计算与市场趋势相比的年度增长率以及许多其他增长率.

学习如何创建有效的DAX公式将帮助您充分利用您的数据.当您获得所需信息时,您就可以开始解决影响您的底线的实际业务问题.这是Power BI和DAX的强大功能将帮助您实现目标.

本教程的先决条件

本教程是Excel Power Pivot的扩展教程,您已经了解了Power Pivot功能,数据模型,关系,Power PivotTables,Power Pivot图表等.在您深入研究DAX之前,请仔细阅读本教程,因为本教程更多关于DAX语言,其中您编写用于分析数据模型中的数据的公式并报告这些结果.

本教程还介绍了与Excel函数类似的DAX函数,但有一些变体. Excel函数和DAX函数的比较用于帮助您区分两者.类似地,比较Excel公式和DAX公式,并讨论相似之处和不同之处.很好地理解这些差异将有助于您有效地编写有效的DAX公式.

本教程不需要了解Excel函数和Excel公式,因为DAX完全用于数据模型Power Pivot窗口.您将进入Excel工作表,仅查看基于数据模型的Power PivotTables,Power Pivot Charts和Power View可视化.但是,如果您是具有Excel函数和公式知识的Excel专业人员,请更好地记录上一节中提到的内容以及本教程中给出的详细信息.

计算列

计算列是可以通过DAX公式添加到数据模型中的表的列.您已经在Excel Power Pivot教程中了解了它们,但您将在"计算列"一章中详细了解,因为DAX完全与计算列,计算字段和DAX函数有关.

计算字段/度量

您无法通过编辑更改数据模型中表格中的值.但是,您可以将计算字段添加到可在Power PivotTable中使用的表中.计算字段通过给出名称和定义DAX公式来定义.有关详细信息,请参阅章节 -  计算字段.

计算字段的名称为Excel 2013之前的Excel版本中的度量.它们在Excel 2016中重命名为度量.在本教程中,我们将它们作为计算字段引用.但请注意,术语 - 计算字段和度量 - 是同义词,并且在所有方面都是相同的.

您可以在定义和存储计算字段后对其进行编辑.您可以更改定义中使用的DAX公式,也可以重命名计算字段.您将在章节中了解这一点 -  编辑计算字段.您可以删除计算字段.请参阅章节 -  删除计算字段.

DAX公式

DAX公式构成了DAX语言的核心.您可以通过使用DAX公式定义计算字段和计算列来创建它们.您可以为数据分析操作编写DAX公式. DAX公式不是指表中的单个单元格或单元格范围,而是参考数据模型中的表格和列.数据模型中表中的列必须包含相同的数据类型.

DAX公式包含表,列,计算列,计算字段,DAX运算符和DAX函数.请参阅 DAX公式一章以详细了解.

DAX语法

与任何语言DAX的情况一样,公式语言也有语法.您的DAX公式应遵循DAX语法,否则,您将在设计时或运行时收到错误,否则您将收到错误的结果.

您将在本章中学习以下内容 -  DAX语法 :

  • DAX表,列的命名要求

  • DAX运算符

  • DAX特殊值

  • DAX数据类型

  • DAX隐式数据类型转换

DAX运算符

DAX是一种公式语言因此使用运算符来定义公式. DAX具有以下类型的运算符 :

  • DAX算术运算符

  • DAX比较运算符

  • DAX文本连接运算符

  • DAX逻辑运算符

DAX运算符优先级订单也是定义的,并且与Excel运算符优先顺序不同.请参阅章节 -   DAX操作员.

DAX标准参数

DAX函数语法对参数有一定的要求.这是因为DAX函数参数可以是表或列,也可以是计算字段或其他DAX函数.请参阅章节 -   DAX标准参数.

DAX函数

Excel 2013有246个DAX函数,可以在DAX公式中使用.您将在 -   DAX函数章节中的类别级别了解这些函数.但是,有关每个DAX函数语法,参数,用法和返回值的详细信息,您必须参考我们的教程 -   DAX Functions  .用于描述每个DAX函数的节名称在章节中给出 -  了解DAX函数.

由于DAX函数在编写DAX公式时是必需的,并且所使用的DAX函数的结果取决于它们使用的上下文,您可能必须在这两个教程之间来回走动才能掌握DAX将用于DAX和Power BI的数据建模.

DAX特殊功能

DAX具有一些使DAX功能强大的功能.这些DAX功能属于DAX时间智能功能和DAX滤波器功能,需要特别提及.您将在章节中了解DAX时间智能功能 -  了解DAX时间智能.您将在 -   DAX过滤器功能一章中了解DAX过滤器功能的用法.

DAX评估上下文

DAX公式的结果可能会根据用于评估的上下文而有所不同. DAX有两种类型的评估上下文 - 行上下文和过滤上下文.请参阅章节 -   DAX评估上下文.

DAX公式

DAX是一种公式语言,您必须在编写DAX公式时充分利用它.请参阅DAX公式章节以了解公式语法以及如何轻松正确地创建它们.

每当刷新数据和DAX公式时,DAX公式的结果都会发生变化重新计算.您必须了解数据刷新和重新计算之间的区别.请参阅章节 -  更新DAX公式的结果.

数据模型中的数据预计会不时发生变化.这是因为数据用于需要在任何时间点获得最新数据的数据分析活动.要了解刷新数据的不同方法,请参阅更新数据模型中的数据一章.

您将在本章中了解不同类型的DAX公式重新计算 -  重新计算DAX公式.

DAX公式重新计算必须考虑数据依赖性并遵循特定顺序.否则,您可能会收到错误或错误的结果.有关详细信息,请参阅 DAX公式重新计算疑难解答一章.

您将获得洞察力对于一些常见的DAX公式错误,您将学习如何修复这些错误,在章节中 -   DAX公式错误.

DAX场景

如果你开始学习一门新语言,那么熟悉这门语言的最好方法就是了解在哪里使用它.同样,DAX是一种用于数据分析的公式语言,您需要了解可以使用它的各种场景.

请参阅以下章节以获取详细信息.

  • DAX Scenarios

  • 场景 -  执行复杂计算

  • 场景 -  使用文本和日期

  • 场景 -  条件值和错误测试

  • 方案 -  使用时间智能

  • 场景 -  排名和比较值