新彩天欢迎您!
幻海优品

Excel DAX - 运算符

DAX是一种公式语言,包含可在公式或表达式中使用的函数,运算符和值,用于计算和返回一个或多个值.

您可以使用 DAX运算符比较值,执行算术计算和连接字符串.在本章中,您将了解DAX运算符以及如何使用它们.

DAX运算符的类型

DAX支持以下类型的运算符和减号;

  • DAX算术运算符

  • DAX比较运算符

  • DAX文本连接运算符

  • DAX逻辑运算符

DAX运营商优先顺序

您可以拥有多个DAX公式DAX运算符组合了多个值或表达式.在这种情况下,最终结果将取决于执行操作的顺序. DAX为您提供默认的运算符优先顺序以及覆盖默认优先顺序的方法.

DAX默认运算符优先级列在下表中.

优先顺序运算符操作
1^Exponentiation
2-签署
3*和/乘法和除法
4NOT
5+和 -加法和减法
6&连接
7=,<,>,< =,> =和&lt ;>等于,小于,大于,小于或等于,大于或等于且不等于

DAX Expressio n语法

您首先需要了解DAX表达式语法以及如何使用操作数和运算符完成表达式求值.

  • 所有表达式始终以等号(=)开头.等号表示后续字符构成表达式.

  • 在等号的右侧,您将由DAX运算符连接操作数.例如,= 5 + 4> 5.

    = 5 * 6  -  3.

  • 表达式是始终从左到右阅读,并根据上一节中给出的DAX运算符优先级,按该顺序进行计算.

  • 如果DAX运算符具有相同的优先级值,则从左到右进行计算.例如,= 5 * 6/10. *和/都具有相同的先例顺序.因此,表达式被评估为30/10 = 3.

  • 如果表达式中的DAX运算符具有不同的优先级值,那么它们将在优先级中进行评估从左到右的顺序.

    • = 5 + 4> 7.默认优先级为+ first,>下一个.因此,表达式从左到右计算. - 首先计算5 + 4,得到9,然后9>.评估结果为TRUE.

    • = 5 * 6  -  3.默认优先级为* first和 -  next.因此,表达式从左到右计算. - 首先计算5 * 6,结果为30,然后计算30  -  3,结果为27.

    • = 2 * 5  -  6 * 3.默认优先级是* first,* next,然后是 - .因此,表达式的计算结果为10  -  18,然后为-8.注意,它不是10  -  6导致4然后4 * 3是12.

使用括号控制DAX计算顺序

您可以使用括号更改DAX默认运算符优先顺序,对操作数和运算符进行分组以控制计算序列.

例如,= 5 * 6  -  3使用DAX默认运算符优先顺序求值为27.如果使用括号将操作数和运算符分组为= 5 *(6  -  3),则首先计算6  -  3,得到3,然后计算5 * 3,得到15.

= 2 * 5  -  6 * 3使用DAX默认运算符优先顺序求值为-8.如果使用括号将操作数和运算符分组为= 2 *(5  -  6)* 3,则首先计算5  -  6,得到-1,然后计算2 *( -  1)* 3,结果为-6 .

正如您所看到的,使用相同的操作数和运算符,通过对它们进行分组的方式可以得到不同的结果.因此,当您在DAX公式中使用DAX运算符时,您应该注意计算序列的方式.

Excel和DAX之间的差异

虽然DAX与Excel公式有相似之处,但两者之间存在一定的显着差异.

  • DAX更强大因为它的底层内存驻留计算引擎而不是Excel.

  • DAX支持比Excel更多的数据类型.

  • DAX提供了关系数据库数据模型的其他高级功能,包括对日期和时间类型的更丰富支持.

在某些情况下,DAX中的计算结果或函数行为可能与Excel中的不同.这是由于以下和下面的差异;

  • 数据类型转换

  • 数据类型

数据类型转换的差异

在DAX中,当你有一个expression = value1运算符value2时,这两个操作数value1和value2应该是相同的数据类型.如果数据类型不同,DAX将首先将它们隐式转换为公共数据类型.有关详细信息,请参阅章节 -  DAX语法.

例如,您必须比较两个不同数据类型的操作数,例如由公式得出的数字,例如= [Amount] * 0.08和一个整数.第一个数字可以是带有许多小数位的十进制数,而第二个数字是整数.然后DAX处理它如下 :

  • 首先,DAX将使用最大的数字格式将两个操作数转换为实数这可以存储两种数字.

  • 接下来,DAX将比较两个实数.

相比之下,Excel会尝试比较不同数据类型的值,而不首先将它们强制转换为通用数据类型.因此,对于相同的比较表达式,您可能会在DAX和Excel中找到不同的结果.

数据类型的差异

运算符优先顺序在DAX和Excel中是一样的.但是,DAX不支持Excel支持的运算符百分比(%)和数据范围.此外,DAX支持将表作为数据类型,而不是Excel中的情况.

此外,在Excel公式中,您可以引用单个单元格,或数组或范围细胞.在DAX公式中,您不能参考任何这些. DAX公式对数据的引用应该是表格,列,计算字段和计算列.

如果从Excel复制公式并将其粘贴到DAX中,请确保DAX公式的正确性因为DAX语法与Excel公式语法不同.此外,即使函数在DAX和Excel中具有相同的名称,其参数可能也不同,函数的结果也可能不同.

您将了解有关所有这些的更多信息.随后的章节.

免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除