Se os dados na coluna que você especificar como um argumento forem incompatíveis com o tipo de dados exigido pela função, o DAX, em muitos casos, retornará um erro. No entanto, sempre que possível, o DAX tentará converter implicitamente os dados para o tipo de dados necessário. Por exemplo:
- Você pode digitar uma data como uma string e o DAX analisará a string e tentará convertê-la em um dos formatos de data e hora do Windows.
Você pode adicionar TRUE + 1 e obter o resultado 2, porque TRUE é implicitamente convertido no número 1 e a operação 1 + 1 é executada.
Se você adicionar valores em duas colunas e um valor for representado como texto ("12") e o outro como um número (12), o DAX implicitamente converterá a string em um número e, em seguida, fará a adição para um resultado numérico. A expressão a seguir retorna 44: = "22" + 22.
Se você tentar concatenar dois números, o Excel os apresentará como seqüências de caracteres e, em seguida, concatenará. A expressão a seguir retorna "1234": = 12 & 34.
O tipo de conversão que é executado é determinado pelo operador, que lança os valores necessários antes de executar a operação solicitada. Essas tabelas listam os operadores e indicam a conversão que é executada em cada tipo de dados na coluna quando é emparelhada com o tipo de dados na linha de interseção.
Adição (+)
Por exemplo, se um número real for usado em uma operação de adição em combinação com dados de moeda, ambos os valores serão convertidos para REAL e o resultado será retornado como REAL.
Subtração (-)
Na tabela a seguir, o cabeçalho da linha é o minuendo (lado esquerdo) e o cabeçalho da coluna é o subtraendo (lado direito).
Multiplicação (*)
Por exemplo, se um inteiro for combinado com um número real em uma operação de multiplicação, ambos os números serão convertidos em números reais e o valor de retorno também será REAL.
Divisão (/)
Na tabela a seguir, o cabeçalho da linha é o numerador e o cabeçalho da coluna é o denominador.
Por exemplo, se um inteiro for combinado com um valor de moeda em uma operação de divisão, ambos os valores serão convertidos em números reais e o resultado também será um número real.
Operadores de comparação
Em expressões de comparação, valores booleanos são considerados maiores que valores de string e valores de string são considerados maiores que valores numéricos ou de data / hora; números e valores de data / hora são considerados como tendo a mesma classificação.
Nenhuma conversão implícita é executada para valores booleanos ou de string; BLANK ou um valor em branco é convertido em 0 / "" / false, dependendo do tipo de dados do outro valor comparado.
As seguintes expressões DAX ilustram esse comportamento:
= IF (FALSE ()> "true", "Expressão é verdadeira", "Expressão é falsa"), retorna "Expression is true"
= IF ("12"> 12, "Expressão é verdadeira", "Expressão é falsa"), retorna "Expression is true"
= IF ("12" = 12, "Expressão é verdadeira", "Expressão é falsa"), retorna "Expressão é falsa"
As conversões são realizadas implicitamente para tipos numéricos ou de data / hora, conforme descrito na tabela a seguir:
Manipulando espaços em branco, sequências vazias e valores zero
No DAX, um valor nulo, em branco, célula vazia ou um valor ausente é representado pelo mesmo novo tipo de valor, um BLANK. Você também pode gerar espaços em branco usando a função BLANK ou testar espaços em branco usando a função ISBLANK.
Como os espaços em branco são manipulados em operações como adição ou concatenação depende da função individual. A tabela a seguir resume as diferenças entre as fórmulas do DAX e do Microsoft Excel, da mesma forma que os espaços em branco são manipulados.
Fonte: Microsoft
Nenhum comentário:
Postar um comentário