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
| 演算子 | 説明 |
|---|---|
> |
より大きい |
>= |
以上 |
< |
より小さい |
<= |
以下 |
= |
等しい |
<> |
等しくない |
?? |
null結合演算子 |
論理演算子 (よく使われる演算子に加えて)
| 演算子 | 説明 |
|---|---|
or |
条件付き論理 OR |
and |
条件付き論理 AND |
not |
合理的 NOT |
数値演算子 (よく使われる演算子に加えて)
| 演算子 | 説明 |
|---|---|
+ |
合計 |
- |
差 |
* |
プロダクト |
/ |
商 |
+x |
単項プラス |
-x |
否定 |
テキスト演算子 (よく使われる演算子に加えて)
| 演算子 | 説明 |
|---|---|
& |
連結 |
リスト、レコード、テーブル演算子
| 演算子 | 説明 |
|---|---|
= |
等しい |
<> |
等しくない |
& |
連結 |
レコードの検索演算子
| 演算子 | 説明 |
|---|---|
[] |
名前でレコードのフィールドにアクセスします。 |
リスト インデクサー演算子
| 演算子 | 説明 |
|---|---|
{} |
0 から始まる数値インデックスによってリスト内の項目にアクセスします。 |
型の互換性とアサーション演算子
| 演算子 | 説明 |
|---|---|
is |
式x is yは、xの型がyと互換性がある場合はtrueを返し、xの型がyと互換性がない場合はfalseを返します。 |
as |
式x as y、is演算子に従って、xの値がyと互換性があることをアサートします。 |
日付演算子
| 演算子 | 左辺オペランド | 右辺オペランド | 意味 |
|---|---|---|---|
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 |
期間による datetime のオフセット |
x + y |
duration |
datetime |
期間による datetime のオフセット |
x - y |
datetime |
duration |
否定された期間による datetime のオフセット |
x - y |
datetime |
datetime |
datetime から datetime までの期間 |
DateTimeZone 演算子
| 演算子 | 左辺オペランド | 右辺オペランド | 意味 |
|---|---|---|---|
x + y |
datetimezone |
duration |
期間による datetimezone のオフセット |
x + y |
duration |
datetimezone |
期間による datetimezone のオフセット |
x - y |
datetimezone |
duration |
否定された期間による datetimezone のオフセット |
x - y |
datetimezone |
datetimezone |
datetimezone から datetimezone までの期間 |
期間演算子
| 演算子 | 左辺オペランド | 右辺オペランド | 意味 |
|---|---|---|---|
x + y |
datetime |
duration |
期間による datetime のオフセット |
x + y |
duration |
datetime |
期間による datetime のオフセット |
x + y |
duration |
duration |
期間の和 |
x - y |
datetime |
duration |
否定された期間による datetime のオフセット |
x - y |
datetime |
datetime |
datetime から datetime までの期間 |
x - y |
duration |
duration |
期間の差 |
x * y |
duration |
number |
期間の N 倍 |
x * y |
number |
duration |
期間の N 倍 |
x / y |
duration |
number |
期間の割合 |
注意
演算子で値のすべての組み合わせをサポートできるわけではありません。 式は、評価されるときに、未定義の演算子条件がエラーとして評価されます。 M のエラーの詳細については、「エラー」を参照してください
エラーの例:
| 関数 | 等しい |
|---|---|
1 + "2" |
エラー: 数値とテキストの加算はサポートされません。 |