运营商

Power Query M 公式语言包括一组可在表达式中使用的运算符。 运算符 应用于 作数 以形成符号表达式。 例如,在表达式 1 + 2 中,数字 12 作数为作数,运算符是加法运算符 (+)。

运算符的含义可能因作数值的类型而异。 该语言具有以下运算符:

加号运算符(+)

表达式 等于
1 + 2 数字加法: 3
#time(12,23,0) + #duration(0,0,2,0) 时间算术: #time(12,25,0)

组合运算符 (&)

功能 等于
"A" & "BC" 文本串联: "ABC"
{1} & {2, 3} 列表连接: {1, 2, 3}
[ a = 1 ] & [ b = 2 ] 记录合并: [ a = 1, b = 2 ]

M 运算符列表

适用于nulllogicalnumbertimedatedatetimedatetimezonedurationtextbinary常见运算符

操作员 DESCRIPTION
> 大于
>= 大于或等于
< 小于
<= 小于或等于
= 平等
<> 不等于
?? 空值合并

逻辑运算符 (除 Common 运算符外)

操作员 DESCRIPTION
or 条件逻辑 OR
and 条件逻辑 AND
not 逻辑 NOT

数字运算符 (除 Common 运算符外)

操作员 DESCRIPTION
+ 总和
-
* 产品
/
+x 一元加
-x 否定

文本运算符 (除 通用运算符外)

操作员 DESCRIPTION
& 串联

列表、记录、表运算符

操作员 DESCRIPTION
= 平等
<> 不等于
& 串联

记录查找运算符

操作员 DESCRIPTION
[] 按名称访问记录的字段。

列表索引器运算符

操作员 DESCRIPTION
{} 按从零开始的数字索引访问列表中的项。

类型兼容性和断言运算符

操作员 DESCRIPTION
is 如果x的类型与y兼容,则表达式x is y返回true;如果x的类型与y不兼容,则返回false
as 表达式x as y断言该值xyis运算符兼容。

日期运算符

操作员 左操作数 右操作数 含义
x + y time duration 日期偏移量(按持续时间)
x + y duration time 日期偏移量(按持续时间)
x - y time duration 日期按否定时长计算偏移量
x - y time time 日期之间的持续时间
x & y date time 合并日期/时间

Datetime 运算符

操作员 左操作数 右操作数 含义
x + y datetime duration 日期时间由于持续时间而偏移
x + y duration datetime 日期时间由于持续时间而偏移
x - y datetime duration 按否定持续时间的日期/时间偏移量
x - y datetime datetime 日期/时间之间的时长

Datetimezone 运算符

操作员 左操作数 右操作数 含义
x + y datetimezone duration 日期时间区域偏移量(根据持续时间)
x + y duration datetimezone 日期时间区域偏移量(根据持续时间)
x - y datetimezone duration Datetimezone 偏移量(按否定持续时间)
x - y datetimezone datetimezone 日期时间区域之间的时间持续长度

持续时间运算符

操作员 左操作数 右操作数 含义
x + y datetime duration 日期/时间偏移量(按持续时间)
x + y duration datetime 日期时间由于持续时间而偏移
x + y duration duration 持续时间之和
x - y datetime duration 按否定持续时间的日期/时间偏移量
x - y datetime datetime 日期/时间之间的时长
x - y duration duration 持续时间的差异
x * y duration number N 倍的持续时间
x * y number duration N 倍的持续时间
x / y duration number 持续时间的分数

注释

运算符不支持所有值组合。 在求值过程中遇到未定义的运算符条件的表达式会导致错误。 有关 M 中的错误的详细信息,请转到 “错误”

错误示例

功能 等于
1 + "2" 错误:不支持添加数字和文本