Power Query M 公式语言包括一组可在表达式中使用的运算符。
运算符 应用于 作数 以形成符号表达式。 例如,在表达式 1 + 2 中,数字 1 和 2 作数为作数,运算符是加法运算符 (+)。
运算符的含义可能因作数值的类型而异。 该语言具有以下运算符:
加号运算符(+)
| 表达式 | 等于 |
|---|---|
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 运算符列表
适用于null、logical、number、time、date、datetime、datetimezone、duration、text和binary的常见运算符
| 操作员 | 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断言该值x与yis运算符兼容。 |
日期运算符
| 操作员 | 左操作数 | 右操作数 | 含义 |
|---|---|---|---|
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" |
错误:不支持添加数字和文本 |