Principais Comandos:
Linguagem DAX
Antes de iniciar com as atividades propostas para os comandos relacionados a seguir, você precisa
carregar o conteúdo da planilhaFinanceiro para o PowerBI Desktop.
COUNTROWS
Descrição: Conta o número de linhas na tabela especificada ou em uma tabela definida por uma
expressão.
Sintaxe: COUNTROWS(<tabela>)
Exemplo:
Total de Vendas = COUNTROWS(PlanilhaFinanceiro)
Valor retornado: 702
Explicação: Como cada registro de nossa base de dados equivale ao registro de uma venda, se
contarmos a quantidade de linhas, estaremos contando a quantidade de vendas. A fórmula
COUNTROWS é muito útil para tabelas em que cada linha representa um registro único, ou seja, se
contarmos as linhas, estaremos contando os registros.
É importante ressaltar que essa fórmula conta as linhas de toda a tabela e não de uma coluna
específica.
COUNT
Descrição: Conta o número de células de uma coluna que contêm números.
Sintaxe: COUNT(<coluna>)
Exemplo:
Qtd de Operações =
COUNT(PlanilhaFinanceiro[Unidades_Vendidas])
Valor retornado: 700
Explicação: A fórmula COUNT é muito parecida com a COUNTROWS, porém ela é mais usada com
colunas que possuem mais de um tipo de valor. Ou seja, se uma mesma coluna tem campos de
números e textos, essa função contará apenas a quantidade de células que estão preenchidas com
números.
Página | 1
COUNTA
Descrição: Conta o número de células de uma coluna que não estão vazias. Ela conta não apenas as
linhas contendo valores numéricos, mas também as linhas contendo valores não vazios, inclusive
texto, datas e valores lógicos.
Sintaxe: COUNTA(<coluna>)
Exemplo:
Total de Registros = COUNTA(PlanilhaFinanceiro[País])
Valor retornado: 702
Explicação: Para finalizarmos as funções de Contagem, temos a função COUNTA. Ela basicamente
conta todos os tipos de campo de uma coluna.
Diferente da função COUNT (que conta apenas números), a função COUNTA conta textos, datas,
números, contanto que as células não estejam vazias.
MAX
Descrição: Retorna o maior valor numérico de uma coluna.
Sintaxe: MAX(<coluna>)
Exemplo:
Maior Preço de Venda =
MAX(PlanilhaFinanceiro[Preço_Venda])
Valor retornado: 390
Explicação: A função MAX é utilizada quando se quer extrair o maior valor de uma coluna. No nosso
exemplo, o maior valor para Preço de Venda.
Outras aplicações seria: Maior Preço de Custo, Maior Desconto, Maior Unidades Vendidas em uma
única operação de Venda. É possível apurar também o último dia disponível. Ou seja, se aplicarmos
a função MAX na coluna Data, o valor retornado será a maior data da tabela.
MIN
Descrição: Retorna o menor valor numérico de uma coluna. Ignora valores lógicos e texto.
Sintaxe: MIN(<coluna>)
Página | 2
Exemplo: Menor Qtd Vendida = MIN(PlanilhaFinanceiro[Unidades_Vendidas])
Valor retornado: 200
Explicação: A função MIN é o oposto da função MAX. Ela retorna o menor valor de uma coluna.
No nosso exemplo, estamos buscando a menor quantidade vendida em uma operação. Além do
uso com números, essa função também pode ser utilizada para datas. Dessa forma, se precisar
identificar a data mais antiga de uma coluna, basta aplicar a função MIN.
SUM
Descrição: Adiciona todos os números de uma coluna.
Sintaxe: SUM(<coluna>)
Exemplo:
Quantidade Vendida =
SUM(PlanilhaFinanceiro[Unidades_Vendidas])
Valor retornado: 1.125.806
Explicação: Uma das fórmulas mais utilizadas em base de dados com valores é a função SUM. Ela
soma todos os valores de uma coluna.
Então é possível totalizar as Quantidades Vendidas (como no exemplo), ou o Valor Total de Vendas,
ou ainda o Valor Total de Desconto, entre outros.
AVERAGE
Descrição: Retorna a média (aritmética) de todos os números de uma coluna.
Sintaxe: AVERAGE(<coluna>)
Exemplo:
Média do Preço de Custo =
AVERAGE(PlanilhaFinanceiro[Preço_Custo])
Valor retornado: 168
Explicação: A fórmula AVERAGE calcula e retorna a média dos valores de uma coluna.
A aplicação dessa fórmula é bem útil para saber Preço Médio, Média de Vendas, Custo Médio dos
Produtos, entre outras métricas.
Página | 3
SUMX
Descrição: Retorna a soma de uma expressão avaliada para cada linha de uma tabela.
Sintaxe: SUMX(<tabela>, <expression>)
Exemplo:
Lucro =
SUMX (PlanilhaFinanceiro; PlanilhaFinanceiro[Preço_Venda] PlanilhaFinanceiro[Preço_Custo])
Valor retornado: 90.702
Explicação: A fórmula SUMX é um coringa na linguagem DAX. Supondo que você quer
multiplicar/dividir uma coluna por outra, ou somar/subtrair uma por outra, ou ainda elevar uma
coluna ao quadrado da outra, é só usar a função SUMX!
Ela recebe como parâmetro principal a <expressão>, na qual você informa qual operação deverá ser
realizada em cada linha. Com isso, cria-se uma “coluna temporária” que é somada para retornar o
resultado final.
No Exemplo, apuramos o Lucro subtraindo o Preço de Venda e o Preço de Custo em cada linha, e
depois totalizando.
ALL
Descrição: Retorna todas as linhas de uma tabela ou todos os valores de uma coluna, ignorando
qualquer filtro que possa ter sido aplicado. Esta função é útil para limpar filtros e criar cálculos em
todas as linhas em uma tabela.
Sintaxe: ALL( {<tabela> | <coluna>[, <coluna>[,…]]]} )
Exemplo:
% Represent Unid =
SUMX(PlanilhaFinanceiro;PlanilhaFinanceiro[Unidades_Vendidas])/SUMX(ALL(PlanilhaFinanceiro);Pla
nilhaFinanceiro[Unidades_Vendidas])
Valor retornado: -
Explicação: A função ALL geralmente é utilizada dentro de um contexto, ou seja, dentro de uma
fórmula. Ela faz com que a expressão calculada ignore todos os filtros aplicados no dashboard.
Isso significa que se você precisa calcular uma medida que não pode ser impactada pelos filtros
disponíveis no relatório ou nos gráficos, é só usar a função ALL.
Geralmente usa-se para o cálculo de Representatividade ou valor Globais/Acumulados.
Página | 4
ALLEXCEPT
Descrição: Remove todos os filtros de contexto na tabela, exceto filtros que foram aplicados às
colunas especificadas.
Sintaxe: ALLEXCEPT(<tabela>,<coluna>[,<coluna>[,…]])
Exemplo:
% Represent Unid 2 =
SUMX(PlanilhaFinanceiro;PlanilhaFinanceiro[Unidades_Vendidas])/SUMX(ALLEXCEPT(Planilh
aFinanceiro;PlanilhaFinanceiro[País]);
Valor retornado:PlanilhaFinanceiro-[Unidades_Vendidas])
Explicação: A função ALLEXCEPT trabalha de forma similar à função ALL, ou seja, ela também ignora
todos os filtros aplicados no relatório. A diferença é que com essa função é possível estabelecer
colunas que podem ser filtradas e são tratadas como exceção.
No Exemplo, calculamos a representatividade das unidades vendidas, desconsiderando qualquer
filtro, exceto o de País. Ou seja, filtros realizados na coluna “Segmento” não serão aplicados, mas
filtros na coluna “País” afetarão os resultados.
FILTER
Descrição: Retorna uma tabela que representa um subconjunto de outra tabela ou expressão.
Sintaxe: FILTER(<tabela>,<filtro>)
Exemplo:
Vendas no Canadá = SUMX(FILTER(PlanilhaFinanceiro; PlanilhaFinanceiro[País]="Canadá");
Valor retornado:SUM(PlanilhaFinanceiro247.429[Unidades_Vendidas]))
Explicação: A função FILTER é uma função que aplica filtros diretamente em uma tabela e retorna
um valor.
Ela geralmente é usado dentro de uma outra fórmula (como SUM, SUMX, CALCULATE, etc).
No nosso Exemplo, estamos usando a FILTER para que a SUMX seja efetuada apenas quando o País
for igual a “Canadá”.
RELATEDTABLE
Descrição: Avalia uma expressão de tabela em um contexto modificado pelos filtros fornecidos.
Sintaxe: RELATEDTABLE(<tableName>)
Página | 5
Exemplo:
Vendas na Europa =
SUMX(FILTER(RELATEDTABLE(Continentes);
Continentes[Continente]="Europa");[.Quantidade Vendida])
Valor retornado: 442.425
Explicação: Para aplicarmos essa função, importamos a tabela “Continentes” para buscamos as
informações que precisamos.
Quando você precisa aplicar uma fórmula utilizando dados de uma outra tabela relacionada, é que
se usa a RELATEDTABLE.
No nosso exemplo, precisamos buscar a informação de “Continente” que não está na tabela principal.
Então usamos a função RELATEDTABLE para informar ao Power BI que vamos buscar uma informação
de outra tabela.
RANKX
Descrição: Retorna a classificação de um número em uma lista de números para cada linha no
argumento ‘tabela’.
Sintaxe: RANKX(<tabela>, <expressao>)
Exemplo:
Ranking Vendas =
RANKX(ALL(PlanilhaFinanceiro[Produto]);[.Quantidade Vendida])
Valor retornado: Ranking dos produtos vendidos
Explicação: A fórmula RANKX avalia uma expressão (que pode ser SUM, AVERAGE, COUNTROWS,
etc) e retorna um ranking. No Exemplo, estamos pedindo o ranking das Quantidades Vendidas na
tabela PlanilhaFinanceiro.
Obs: aplicamos o filtro ALL para que o Ranking não seja alterado por filtros na coluna Produto.
CALCULATE
Descrição: Avalia uma expressão em um contexto que é modificado pelos filtros especificados.
Sintaxe: CALCULATE(<expressao>,<filtro1>,<filtro2>…)
Exemplo:
Página | 6
Quantidade Vendida Global =
CALCULATE(SUM(PlanilhaFinanceiro[Unidades_Vendi das]); ALL(PlanilhaFinanceiro))
Valor retornado: 1.125.806
Explicação: A função CALCULATE é muito utilizada no Power BI, pois ela permite calcular diversas
expressões (SUM, AVERAGE, COUNTROWS, MAX, MIN, entre outros) considerando filtros pré-
definidos. Ou seja, é possível estabelecer em qual contexto você quer que a expressão seja calculada.
No exemplo, estamos calculando a soma das Unidades Vendidas ignorando qualquer filtro na tabela
PlanilhaFinanceiro. Então, aplicamos a operação matemática que queremos fazer (SUM) e o filtro que
deve ser aplicado (ALL). Assim, temos a quantidade global de vendas.
IF
Descrição: Verifica se uma condição fornecida como o primeiro argumento foi atendida. Retorna
um valor se a condição é Verdadeiro; retorna outro valor se a condição é Falso.
Sintaxe: IF(teste_logico, valor_verdadeiro, valor_se_falso)
Exemplo:
Top 3 Ranking = IF([.Ranking Vendas]<=3; [.Ranking Vendas];BLANK())
Valor retornado: -
Explicação: Se você já trabalhou com o Excel, sabe que a função SE é muito aplicada para validação
de informações e criação de colunas auxiliares.
No Power BI, a função IF também tem esse objetivo. Ela realiza um teste lógico e retorna valores
Verdadeiros/Falso.
No Exemplo, queremos extrair apenas os 3 primeiros itens do nosso Ranking de Vendas. Para isso,
aplicamos a função IF para verificar “se o Ranking de Vendas for menor ou igual a 3, retornará o
Ranking de Vendas, caso contrário, retornará uma célula em branco (Blank)”).
Página | 7