演算子
Power Query M 式言語には、式で使用できる演算子のセットが含まれています。 演算子はオペランドに適用され、シンボリック式を形成します。 たとえば、式 1 + 2 では、1 と 2 の数値がオペランドで、演算子は加算演算子 (+) です。
演算子の意味は、オペランドの型によって異なります。 この言語には、次の演算子があります。
プラス演算子 (+)
正規表現 | Equals |
---|---|
1 + 2 | 数値の加算: |
#time(12,23,0) + #duration(0,0,2,0) | 時間の算術演算: #time(12,25,0) |
複合演算子 (&)
機能 | Equals |
---|---|
"A" & "BC" | テキストの連結: "ABC" |
{1} & {2, 3} | リストの連結: {1, 2, 3} |
[ a = 1 ] & [ b = 2 ] | レコードのマージ: [ a = 1, b = 2 ] |
M 演算子のリスト
よく使われる演算子 (null 値、論理値、数値、時刻、日付、datetime、datetimezone、期間、テキスト、バイナリに適用される)
演算子 | 説明 |
---|---|
> | より大きい |
>= | 以上 |
< | より小さい |
<= | 以下 |
= | 等しい |
<> | 等しくない |
論理演算子 (よく使われる演算子に加えて)
演算子 | 説明 |
---|---|
or | 論理条件 OR |
および | 論理条件 AND |
not | 論理 NOT |
数値演算子 (よく使われる演算子に加えて)
演算子 | 説明 |
---|---|
+ | Sum |
- | 差 |
* | Product |
/ | 商 |
+x | 単項プラス |
-X | 否定 |
テキスト演算子 (よく使われる演算子に加えて)
演算子 | 説明 |
---|---|
& | 連結 |
リスト、レコード、テーブル演算子
演算子 | 説明 |
---|---|
= | 等しい |
<> | Not equal |
& | 連結 |
レコードの検索演算子
演算子 | 説明 |
---|---|
[] | 名前でレコードのフィールドにアクセスします。 |
リスト インデクサー演算子
演算子 | 説明 |
---|---|
{} | 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 のエラーの詳細については、「エラー」を参照してください
エラーの例:
関数 | Equals |
---|---|
1 + "2" | エラー: 数値とテキストの加算はサポートされません。 |