Trabalhar com funções DAX

Concluído

A biblioteca de funções DAX consiste em centenas de funções, cada uma delas concebida para realizar um objetivo específico.

Como o DAX teve origem no suplemento Power Pivot do Microsoft Excel 2010, existem mais de 80 funções disponíveis que também podem ser encontradas no Excel. Foi uma estratégia de design deliberada por parte da Microsoft para garantir que os utilizadores do Excel conseguem ser rapidamente produtivos com o DAX.

No entanto, existem muitas funções que não encontrará no Excel, dado que são específicas à modelação de dados:

  • Funções de navegação de relações
  • Funções de modificação do contexto de filtro
  • Funções de iterador
  • Funções de análise de tempo
  • Funções Path

Dica

Para procurar documentação relacionada com a função DAX, ao pesquisar na Web, introduza a palavra-chave DAX seguida do nome da função.

Para obter mais informações, veja Referência de funções DAX.

Funções com origem no Excel

As secções seguintes consideram várias funções úteis, com as quais pode já estar familiarizado, pois existem no Excel.

A IF função DAX testa se uma condição fornecida como primeiro argumento é cumprida. Devolverá um valor se a condição for VERDADEIRA e devolverá outro valor se a condição for FALSA. Sintaxe da função:

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Dica

Um argumento de função será opcional quando a documentação o apresentar entre parênteses retos.

Se logical_test for avaliado como FALSO e se value_if_false não for indicado, a função devolverá BLANK.

Estão disponíveis muitas funções de resumo do Excel, incluindo SUM, COUNT, AVERAGE, MIN, e MAXmuitas outras. A única diferença é que, no DAX, transmite uma referência de coluna, ao passo que, no Excel, transmite um intervalo de células.

Estão também disponíveis muitas funções lógicas, de informação, de data e hora, de texto e matemáticas do Excel. Por exemplo, um pequeno exemplo de funções do Excel que estão disponíveis no DAX incluem ABS, , ROUND, LENSQRT, LEFT, RIGHT, UPPER, DATE, YEAR, MONTH, , NOW, , ISNUMBER, , TRUE, , FALSE, AND, , ORe NOTIFERROR.

Funções que não têm origem no Excel

Duas funções DAX úteis que não são específicas da modelação e que não têm origem no Excel são DISTINCTCOUNT e DIVIDE.

Função DISTINCTCOUNT

Pode utilizar a DISTINCTCOUNT função DAX para contar o número de valores distintos numa coluna. Esta função é especialmente eficaz numa solução de análise. Considere que a contagem de clientes é diferente da contagem de clientes diferentes. Esta última não conta os clientes repetidos. Assim, a diferença é “Quantos clientes” em comparação com “Quantos clientes diferentes”.

Função DIVIDE

Pode utilizar a DIVIDE função DAX para alcançar a divisão. Deve transmitir as expressões do numerador e do denominador. Opcionalmente, pode transmitir um valor que representa um resultado alternativo. A DIVIDE sintaxe da função é:

DIVIDE(<numerator>, <denominator>[, <alternate_result>])

A DIVIDE função processa automaticamente a divisão por zero casos. Se um resultado alternativo não for transmitido e o denominador for zero ou BLANK, a função devolverá BLANK. Quando um resultado alternativo é transmitido, é devolvido em vez de BLANK.

Esta função é útil porque impede que a expressão tenha de testar primeiro o valor do denominador. A função também está melhor otimizada para testar o valor do denominador do que a IF função. O ganho a nível de desempenho é significativo, pois a verificação da divisão por zero é dispendiosa. Além disso, utilizar a DIVIDE função resulta numa expressão mais concisa e elegante.

Dica

Recomendamos que utilize a DIVIDE função sempre que o denominador for uma expressão que possa devolver zero ou BLANK. Caso o denominador seja um valor constante, recomendamos que utilize o operador dividir (/), que será apresentado posteriormente neste módulo. Neste caso, a divisão terá uma garantia de sucesso e a expressão terá um desempenho superior dado que vai evitar testes desnecessários.