Operadores
A linguagem de fórmula Power Query M inclui um conjunto de operadores que podem ser usados em uma expressão. Os operadores são aplicados a operandos para formar expressões simbólicas. Por exemplo, na expressão 1 + 2, os números 1 e 2 são operandos e o operador é o operador de adição (+).
O significado de um operador pode variar dependendo do tipo de valores do operando. A linguagem tem os seguintes operadores:
Operador de adição (+)
Expression | Igual a |
---|---|
1 + 2 | Adição numérica: 3 |
#time(12,23,0) + #duration(0,0,2,0) | Aritmética de tempo: #time(12,25,0) |
Operador de combinação (&)
Função | Igual a |
---|---|
"A" & "BC" | Concatenação de texto: "ABC" |
{1} & {2, 3} | Concatenação de lista: {1, 2, 3} |
[ a = 1 ] & [ b = 2 ] | Mesclagem de registro: [ a = 1, b = 2 ] |
Lista de operadores M
Operadores comuns que se aplicam a nulo, lógico, número, hora, data, datetime, datetimezone, duração, texto, binário)
Operador | Descrição |
---|---|
> | Maior que |
>= | Maior ou igual |
< | Menor que |
<= | Inferior ou igual |
= | Igual |
<> | Diferente |
Operadores lógicos (além de Operadores comuns)
Operador | Descrição |
---|---|
ou | OR lógico condicional |
e | AND lógico condicional |
not | NOT lógico |
Operadores numéricos (além de Operadores comuns)
Operador | Descrição |
---|---|
+ | Soma |
- | Diferença |
* | Produto |
/ | Quociente |
+x | Adição de unário |
-X | Negação |
Operadores de texto (além de Operadores comuns)
Operador | Descrição |
---|---|
& | Concatenação |
Operadores de lista, registro, tabela
Operador | Descrição |
---|---|
= | Igual |
<> | Diferente |
& | Concatenação |
Operador de pesquisa de registro
Operador | Descrição |
---|---|
[] | Acesse os campos de um registro por nome. |
Operador do indexador de lista
Operador | Descrição |
---|---|
{} | Acesse um item em uma lista pelo índice numérico baseado em zero. |
Compatibilidade de tipos e operadores de asserção
Operador | Descrição |
---|---|
is | A expressão x is y retornará true se o tipo de x for compatível com y e retornará false se o tipo de x não for compatível com y. |
as | A expressão x as y assegura que o valor de x seja compatível com y de acordo com o operador is. |
Operadores de data
Operador | Operando Esquerdo | Operando Direito | Significado |
---|---|---|---|
x + y | time | duration | Deslocamento de Date por duração |
x + y | duration | time | Deslocamento de Date por duração |
x - y | time | duration | Deslocamento de data por duração negada |
x - y | time | time | Duração entre datas |
x & y | date | time | Data/hora mescladas |
Operadores datetime
Operador | Operando Esquerdo | Operando Direito | Significado |
---|---|---|---|
x + y | DATETIME | duration | Deslocamento de data/hora por duração |
x + y | duration | DATETIME | Deslocamento de data/hora por duração |
x - y | DATETIME | duration | Deslocamento de Datetime por duração negada |
x - y | DATETIME | DATETIME | Duração entre datetimes |
Operadores datetimezone
Operador | Operando Esquerdo | Operando Direito | Significado |
---|---|---|---|
x + y | datetimezone | duration | Deslocamento DateTimeZone por duração |
x + y | duration | datetimezone | Deslocamento DateTimeZone por duração |
x - y | datetimezone | duration | Deslocamento de datetimezone por duração negada |
x - y | datetimezone | datetimezone | Duração entre datetimezones |
Operadores de duração
Operador | Operando Esquerdo | Operando Direito | Significado |
---|---|---|---|
x + y | DATETIME | duration | Deslocamento de data/hora por duração |
x + y | duration | DATETIME | Deslocamento de data/hora por duração |
x + y | duration | duration | Soma das durações |
x - y | DATETIME | duration | Deslocamento de Datetime por duração negada |
x - y | DATETIME | DATETIME | Duração entre datetimes |
x - y | duration | duration | Diferença de durações |
x * y | duration | número | N vezes uma duração |
x * y | número | duration | N vezes uma duração |
x / y | duration | número | Fração de uma duração |
Observação
Um operador pode não ter suporte para todas as combinações de valores. As expressões que, quando avaliadas, encontram condições de operador indefinidas são avaliadas como erros. Para obter mais informações sobre erros em M, acesse Erros
Exemplo de erro:
Função | Igual a |
---|---|
1 + "2" | Erro: não há suporte para adicionar número e texto |