Excel DAX - Operadores

DAX é uma linguagem de fórmula composta por funções, operadores e valores que podem ser usados ​​em uma fórmula ou expressão para calcular e retornar um ou mais valores.

Você pode usar DAX operatorspara comparar valores, realizar cálculos aritméticos e concatenar strings. Neste capítulo, você aprenderá sobre os operadores DAX e como usá-los.

Tipos de operadores DAX

DAX suporta os seguintes tipos de operadores -

Ordem de precedência do operador DAX

Você pode ter uma fórmula DAX com muitos operadores DAX combinando vários valores ou expressões. Nesse caso, o resultado final dependerá da ordem em que as operações são realizadas. O DAX fornece a ordem de precedência do operador padrão e também maneiras de substituir a ordem de precedência padrão.

A precedência do operador padrão DAX está listada na tabela a seguir.

Ordem de precedência Operador (es) Operação
1 ^ Exponenciação
2 - Placa
3 * e / Multiplicação e divisão
4 ! NÃO
5 + e - Adição e subtração
6 E Concatenação
7 =, <,>, <=,> = e <> Igual a, Menor que, Maior que, Menor que ou igual a, Maior que ou igual a e Diferente de

Sintaxe de expressão DAX

Você precisa primeiro entender a sintaxe da expressão DAX e como a avaliação da expressão é feita com os operandos e operadores.

  • Todas as expressões sempre começam com um sinal de igual (=). O sinal de igual indica que os caracteres seguintes constituem uma expressão.

  • À direita do sinal de igual, você terá os operandos conectados pelos operadores DAX. Por exemplo, = 5 + 4> 5.

    = 5 * 6 - 3.

  • As expressões são sempre lidas da esquerda para a direita e os cálculos são feitos nessa sequência, com base na precedência do operador DAX fornecida na seção anterior.

  • Se os operadores DAX tiverem valores de precedência iguais, eles serão avaliados da esquerda para a direita. Por exemplo, = 5 * 6/10. Ambos * e / têm a mesma ordem precedente. Portanto, a expressão é avaliada como 30/10 = 3.

  • Se os operadores DAX na expressão tiverem valores de precedência diferentes, eles serão avaliados na ordem de precedência da esquerda para a direita.

    • = 5 + 4> 7. A precedência padrão é + primeiro e> próximo. Portanto, a expressão é calculada da esquerda para a direita. - 5 + 4 é calculado primeiro resultando em 9 e então 9> 5 é avaliado resultando em VERDADEIRO.

    • = 5 * 6 - 3. A precedência padrão é * primeiro e - próximo. Portanto, a expressão é calculada da esquerda para a direita. - 5 * 6 é calculado primeiro resultando em 30 e depois 30 - 3 é calculado resultando em 27.

    • = 2 * 5 - 6 * 3. A precedência padrão é * primeiro, * próximo e depois -. Portanto, a expressão é avaliada como 10 - 18 e depois como -8. Observe que não é 10 - 6 resultando em 4 e então 4 * 3 que é 12.

Uso de parênteses para controlar a ordem de cálculo DAX

Você pode alterar a ordem de precedência do operador padrão DAX usando parênteses, agrupando os operandos e os operadores para controlar a sequência de cálculo.

Por exemplo, = 5 * 6 - 3 é avaliado como 27 com a ordem de precedência do operador padrão DAX. Se você usar parênteses para agrupar os operandos e operadores como = 5 * (6 - 3), então 6 - 3 é calculado primeiro resultando em 3 e, em seguida, 5 * 3 é calculado resultando em 15.

= 2 * 5 - 6 * 3 avalia para -8 com a ordem de precedência do operador padrão DAX. Se você usar parênteses para agrupar os operandos e operadores como = 2 * (5 - 6) * 3, então 5 - 6 é calculado primeiro resultando em -1 e, em seguida, 2 * (-1) * 3 é calculado, resultando em -6 .

Como você pode ver, com os mesmos operandos e operadores, resultados diferentes são possíveis pela maneira como você os agrupa. Portanto, ao usar os operadores DAX nas fórmulas DAX, você deve prestar atenção em como deve ser a sequência de cálculo.

Diferenças entre Excel e DAX

Embora o DAX tenha semelhanças com fórmulas do Excel, existem algumas diferenças significativas entre os dois.

  • O DAX é mais poderoso que o Excel por causa de seu mecanismo de computação residente na memória subjacente.

  • DAX oferece suporte a mais tipos de dados do que Excel.

  • O DAX fornece recursos avançados adicionais de um banco de dados relacional, modelo de dados, incluindo suporte mais rico para tipos de data e hora.

Em alguns casos, os resultados dos cálculos ou o comportamento das funções no DAX podem não ser iguais aos do Excel. Isso se deve às diferenças no seguinte -

  • Fundição de tipo de dados
  • Tipos de dados

Diferença no tipo de fundição de dados

No DAX, quando você tem uma expressão = valor1 operador valor2, os dois operandos valor1 e valor2 devem ser do mesmo tipo de dados. Se os tipos de dados forem diferentes, o DAX os converterá primeiro em um tipo de dados comum implicitamente. Consulte o capítulo - Sintaxe DAX para obter detalhes.

Por exemplo, você deve comparar dois operandos de tipos de dados diferentes, digamos um número resultante de uma fórmula, como = [Amount] * 0,08 e um inteiro. O primeiro número pode ser um número decimal com muitas casas decimais, enquanto o segundo número é um inteiro. Então o DAX lida com isso da seguinte maneira -

  • Primeiro, o DAX converterá ambos os operandos em números reais usando o maior formato numérico que pode armazenar os dois tipos de números.

  • Em seguida, o DAX comparará os dois números reais.

Em contraste, o Excel tenta comparar valores de diferentes tipos de dados sem primeiro forçá-los a um tipo de dados comum. Por esse motivo, você pode encontrar resultados diferentes no DAX e no Excel para a mesma expressão de comparação.

Diferença em tipos de dados

A ordem de precedência do operador no DAX e no Excel é a mesma. No entanto, a porcentagem do operador (%) e os intervalos de dados que o Excel suporta não são suportados pelo DAX. Além disso, o DAX suporta tabela como tipo de dados, o que não é o caso no Excel.

Além disso, nas fórmulas do Excel, você pode se referir a uma única célula, uma matriz ou um intervalo de células. Em fórmulas DAX, você não pode se referir a nenhum deles. As referências de fórmula DAX aos dados devem ser por tabelas, colunas, campos calculados e colunas calculadas.

Se você copiar fórmulas do Excel e colá-las no DAX, verifique se a fórmula DAX está correta, pois a sintaxe DAX é diferente da sintaxe da fórmula do Excel. Além disso, mesmo se uma função tiver o mesmo nome em DAX e Excel, seus parâmetros podem ser diferentes e o resultado da função também pode ser diferente.

Você aprenderá mais sobre tudo isso nos capítulos subsequentes.