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 -
- Operadores aritméticos DAX
- Operadores de comparação DAX
- Operador de concatenação de texto DAX
- Operadores lógicos DAX
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.