PowerBI数据分析与数据可视化第4章数据分析表达式.pptx
《PowerBI数据分析与数据可视化第4章数据分析表达式.pptx》由会员分享,可在线阅读,更多相关《PowerBI数据分析与数据可视化第4章数据分析表达式.pptx(44页珍藏版)》请在课桌文档上搜索。
1、第4章数据分析表达式,数据分析表达式(Data Analysis Expressions,DAX)是一个函数和运算符库,这些函数和运算符可用便在Microsoft SQL Server Analysis Services、Excel中的Power Pivot以及Power BI中创建公式和表达式。本章主要内容:DAX基础DAX函数,4.1 DAX基础,DAX也称公式语言,它与Java、Python、C+等计算机程序设计语言不同,它通过公式来完成计算。DAX与Excel的公式非常相似,而且大部分函数都是通用的。本节主要内容:语法规则运算符数据类型上下文,4.1.1语法规则,语法规则是DAX公式的
2、编写规则。一个DAX公式通常包含度量值、函数、运算符、列引用等组成,如图所示。度量值度量值类似于程序设计语言中的全局变量,是一个标量,通常用于表示单个的值。例如,求和、求平均值、求最大值等结果为单个值,可定义为度量值。度量值可在报表任意位置使用。在Power BI Desktop中,可用公式来创建度量值、列和表,所以等号左侧可以是新建的度量值、列或表的名称。用公式创建的列和表可分别称为计算列和计算表。等号等号表示公式的开始,其后是完成各种计算的表达式。,函数Power BI Desktop提供了大量的内置函数,这些函数通常用于在数据表中返回单个值,或者返回包含单列或多列的表。运算符运算符完成相
3、应计算。列引用在公式中除了列引用,还涉及度量值和表的引用。列和度量值在引用时,名称必须放在方括号中。在引用表时,表名称包含空格或其他特殊符号时,必须将名称放在单引号中,否则可以直接使用名称。引用列时,如果列不属于当前数据表,则必须用数据表名称限定列,例如,“销售数据销量”或者“销售数据销量”。使用数据表名称限定列名也称为完全限定,建议在公式中都使用完全限定,避免产生误解。,DAX公式与Excel公式类似,两者主要区别如下。Excel公式可以直接引用单个的单元格或某个范围的多个单元格。Power BI公式只能直接引用完整的数据表或数据列。通过筛选器和函数,可获得列的一部分、列中的唯一值或者表的一
4、部分的引用。DAX公式与Excel支持的数据类型并非完全相同。通常,DAX 提供的数据类型比Excel 多,在导入数据时DAX会对某些数据执行隐式类型转换。DAX公式还具有下列特点。DAX公式不能修改表中原有的数据,只能通过新建列操作为表添加数据。可通过DAX公式创建计算列、度量值和表,但不能创建计算行。在DAX公式中,不限制函数的嵌套调用。DAX提供了返回表的函数。,4.1.2运算符,DAX支持4种运算符:算术运算符、比较运算符、文本串联运算符和逻辑运算符。1.算术运算符算术运算符用于执行算术运算,运算结果为数值。,2.比较运算符比较运算符用于比较操作数关系,运算结果为逻辑值True或Fal
5、se。,3.文本串联运算符文本串联运算符只有一个:&,用于将两个字符串连接成一个字符串。例如,abc&123,结果为abc1234.逻辑运算符逻辑运算符用于执行逻辑运算,运算结果为逻辑值True或False。,4.1.3数据类型,1.数字类型Power BI Desktop支持三种数字类型:小数、定点小数和整数。小数:表示 64 位(8字节)浮点数。可以处理从-1.79E+308到-2.23E-308的负数、0,以及从2.23E-308到1.79E+308的正数。定点小数:小数点位置固定,小数点后固定有四位有效数字数,最多19位有效数字。它可以表示的值范围为-922,337,203,685,4
6、77.5807到+922,337,203,685,477.5807。整数:表示64位(8字节)整数值。最多允许19位有效数字,取值范围从-,223,372,036,854,775,808到9,223,372,036,854,775,807。,2.日期时间类型Power BI Desktop 支持查询视图中的五种日期时间数据类型,以及报表视图和模型中的三种日期时间数据类型。日期/时间:表示日期和时间值。日期/时间值以小数类型进行存储,可以在这两种类型之间进行转换。日期的时间部分存储为1/300 秒(3.33 ms)的整数倍的分数。支持1900年和9999年之间的日期。日期:仅表示日期,没有时间部
7、分。时间:仅表示时间,没有日期部分。日期/时间/时区:表示UTC日期/时间。数据加载后,会被转换为日期/时间类型。持续时间:表示时间的长度。数据加载后,会被转换为十进制数类型。可将其与日期/时间字段执行加法和减法运算。,3.文本类型文本类型为Unicode字符串,其最大字符串长度为268,435,456个Unicode字符或536,870,912字节。4.True/False类型True/False类型表示逻辑值的True或False。5.空值/Null类型空值/Null类型可在DAX中表示和替代SQL中的Null。可用BLANK函数创建空值,也可用ISBLANK逻辑函数测试空值。,4.1.4
8、上下文,上下文(Context)在众多高级程序设计语言中使用,它代表了变量、函数、程序的运行环境。上下文也是DAX的一个重要概念。在DAX中,上下文是公式的计算环境。DAX公式中有两种上下文:行上下文和筛选上下文。1.行上下文行上下文可以理解为当前记录(当前行)。从数据源获取的各种数据后,Power BI Desktop将其以关系表(二维表)的形式存储。在计算函数时,通常都会应用某一行中某个列的数据,此时的行就是当前计算的行上下文。2.筛选上下文筛选上下文可以理解为作用于表的筛选条件(筛选器),函数应用筛选出的数据(单个或多个值)完成计算。,4.2DAX函数,函数是通过使用特定值、调用参数,并
9、按特定顺序或结构来执行计算的预定义公式。函数参数可以是其他函数、另一个公式、表达式、列引用、数字、文本、逻辑值(如True或False)或者常量。本节主要内容:DAX函数概述聚合函数逻辑函数数学函数文本函数信息函数日期和时间函数时间智能函数筛选器函数,4.2.1DAX函数概述,DAX中的函数按类型可分为:日期和时间函数、时间智能函数、信息函数、逻辑函数、数学函数、统计函数、文本函数等。DAX函数具有下列特点。DAX函数始终引用整列或整个表。如果仅想使用表或列中的某个特定值,则需为公式添加筛选器。在需要逐行自定义计算时,DAX允许将当前行的值或关联值作为参数。DAX函数可返回计算表,计算表可作为
10、其他函数的参数。DAX提供了各种时间智能函数。这些函数可用于定义或选择日期范围,以便执行动态计算。,DAX对内置函数的参数名称进行了规范化,4.2.2聚合函数,AVERAGE()计算列中所有数字的平均值。如果列中包含文本,则不执行计算,函数返回空值。列中包含空单元或逻辑值时,则忽略这些值,不对行进行计数。值为0纳入计算,对行计数。例如:=AVERAGE(成绩数据语文)AVERAGEA()计算列中所有值的平均值。列中的非数字值处理规则为:计算结果为True的值作为1计数,计算结果为False的值、包含非数字文本的值、空文本()和空单元均作为0计数。例如:=AVERAGEA(成绩数据语文)AVER
11、AGEX(,)计算表中表达式计算结果的平均值。例如:=AVERAGEX(成绩数据,语文+数学+外语),COUNT()对列中的数字和日期进行计数。如果单元包含不能转换成数字的文本,则不对该行进行计数。如果列中没有可计数的单元,函数返回空值。例如:=COUNT(成绩数据语文)COUNTA()对列中非空单元进行计数。例如:=COUNTA(成绩数据语文)COUNTAX(,)对表中的每一行计算表达式,返回表达式计算结果不为空的数目。例如:=COUNTAX(成绩数据,专业代码)COUNTROWS()计算指定表的行数。例如:=COUNTROWS(成绩数据),MAX()返回数值列中的最大值。例如:=MAX(语
12、文)MIN()返回数值列中的最小值。例如:=MIN(语文)RANK.EQ(,)计算value在列columnName中的排名。order指定排名方式,可省略。order为0(默认)时,列中最大值排名为1;order为1时,列中最小值排名为1。例如,创建语文成绩的排名列。=RANK.EQ(成绩数据语文,成绩数据语文),RANKX(,)计算表table中表达式expression计算结果在value中的排名。参数order与RANK.EQ()函数中一致。参数ties为skip(默认)时,相同排名要计数,例如,有5个值排名第10,则下一个排名为15(10+5)。参数ties为Dense时,相同排名只
13、计数1次,例如,有5个值排名第10,则下一个排名为11。例如:=RANKX(成绩数据,成绩数据外语+成绩数据数学+成绩数据语文)SUM()对列中的数值进行求和。例如:=SUM(销售数据销量),SUMMARIZE(,)对表table中的数据按分组列groupBy_columnName计算表达式expression,计算结果作为列name的值,返回的表包含分组列和计算结果列。可以有多个分组列。计算表达式expression也可有多个,每个表达式一个名称name。,4.2.3 逻辑函数,AND(,)对两个逻辑值计算逻辑与。例如:=AND(AVERAGE(成绩数据语文)60,AVERAGE(成绩数据数
14、学)60)NOT()对逻辑值取反。例如:=NOT(AVERAGE(成绩数据语文)60)OR(,)对两个逻辑值计算逻辑或。例如:=OR(AVERAGE(成绩数据语文)60,AVERAGE(成绩数据数学)60),TRUE()返回逻辑值True。例如:=TRUE()FALSE()返回逻辑值False。例如:=FALSE()IF(logical_test,value_if_false)如果条件logical_test为True,则返回值value_if_true;否则返回值value_if_false。例如:=IF(成绩 55,合格,不合格),IFERROR(value,value_if_error)
15、在计算value发生错误时,函数返回value_if_error的值,否则返回value的值。例如:=IFERROR(成绩 55,出错)SWITCH(,)计算表达式expression,计算结果与某个value匹配时,对应的result作为函数返回值。如果没有值与计算结果匹配,则else作为函数返回值。例如:=SWITCH(weekday,1,周一,2,周二,3,周三,4,周四,5,周五,6,周六,7,周日,非法数),4.2.4 数学函数,ABS()求number的绝对值。例如:=ABS(销售量-100)CEILING(,)将数字number向上舍入到最接近的整数或基数significance
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PowerBI 数据 分析 可视化 表达式

链接地址:https://www.desk33.com/p-354925.html