Olá, tudo bem? Neste artigo quero tentar explicar quando usar cada função DAX para calcular a média no Power BI. Vamos aprender sobre a função DAX AVERAGE, AVERAGEA e AVERAGEX, vamos lá?
Antes de começar a leitura, quero falar que tenho um curso Online de Power BI, para você que está começando nesta área é o curso ideal. Acesse https://bit.ly/pbiead.
Vamos usar a tabela abaixo para calcular a média da coluna fDados. Percebam que há células com valor zero, em branco.
Função AVERAGE
Primeiramente vamos falar sobre a função AVERAGE. a Função AVERAGE calcula a média aritmética de todos os números de uma coluna. Logicamente que a função não aceita valores do tipo String (Texto).
Sintaxe
AVERAGE(coluna)
A Sintaxe é muito simples, a coluna é o único parâmetro (argumento da função) que deseja que retorne a média.
Vamos criar a função DAX para criar a média da coluna ValorTotal.
Média = AVERAGE(fDados[ValorTotal])
Ao aplicar esta medida para um cartão o resultado será de 1.708.
Olhando a tabela acima, percebemos que a função AVERAGE ignora células vazias e também valores lógicos como TRUE e FALSE, mas conta células com valores null ou (0) zero. Temos que ter este cuidado ao calcular as médias.
função AVERAGEA.
A função AVERAGEA foi inserida no Power BI por compatibilidade cm Excel. Fazendo alguns testes com a Função AVERAGEA, a diferença em relação a função AVERAGE é que quando deseja ter a média de uma coluna que está como texto não retorna erro e sim como zero (0).
Função AVERAGEX
A função AVERAGEX é uma função iteradora, ou seja, itera sempre linha alinha. Basicamente é utilizado para retornar uma média de uma Medida.
Sintaxe
AVERAGEX(tabela,expressão)
Na função AVERAGEX temos dois argumentos ou dois parâmetros, a tabela e expressão. No parâmetro tabela você deve inserir o nome da tabela onde a expressão será executada.
Por exemplo, se olharmos a tabela fDados, temos o custo unitário. Se queremos ter uma média do custo total.
Média Custo Total = AVERAGEX( fDados, fDados[CustoUnitario] * fDados[QtdeVendida] )
Neste exemplo o função irá fazer o cálculo primeiro linha a linha e fazer a média do resultado de cada linha.
Agora quero mostrar outros exemplos de como aplicar o AVERAGEX.
Calcular a média diária de Vendas
Média Vendas Diária = AVERAGEX( VALUES(dCalendario[Data]), [Faturamento] )
Calcular a Média de Vendas por Cliente
Média Vendas por Cliente = AVERAGEX( VALUES(dClientes[NomeCliente]), [Faturamento] )
Espero que tenham gostado do artigo.
Grande abraço
Gerson G. Viergutz
Veja outros artigos sobre Power BI
Outros Links sobre:
https://docs.microsoft.com/pt-br/dax/average-function-dax
https://docs.microsoft.com/pt-br/dax/averagex-function-dax
https://docs.microsoft.com/pt-br/dax/averagea-function-dax