🎉 SEMANA DO CONSUMIDOR

Últimos dias para comprar os cursos com 50% de desconto

Ver detalhes

Postado em em 17 de julho de 2024

Entenda o que é a transição de contexto no Power BI e como ela funciona! Com isso suas análises se tornarão muito mais eficientes!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Transição de Contexto no Power BI

Na aula de hoje, vou explicar o que é a transição de contexto no Power BI e como ela funciona.

Veremos o que é e qual a diferença entre um contexto de linha e um contexto de filtro, além de como fazer a transição entre esses conceitos com exemplos práticos.

Você aprenderá como as fórmulas e as medidas são calculadas e como elas afetam o contexto de acordo com o seu uso.

Para finalizar, apresentarei uma aplicação real onde usamos a transição de contexto, demonstrando o passo a passo de como aplicar e por quê.

Então, faça o download do material disponível e venha comigo aprender mais sobre contextos no Power BI e transição de contexto.

Contexto no Power BI

O contexto no Power BI refere-se à maneira como os cálculos das fórmulas são avaliados. Podemos realizar esses cálculos utilizando medidas e/ou colunas calculadas. Existem dois tipos principais de contexto no Power BI: Contexto de Linha e Contexto de Filtro.

As colunas calculadas permitem aplicar o contexto de linha, onde obtemos resultados de cálculos em nível de linha. Por outro lado, as medidas nos fornecem resultados em forma de um valor único, que pode ser filtrado nas visualizações e gráficos do Power BI.

Contexto de Filtro no Power BI

O Contexto de Filtro refere-se ao conjunto de filtros aplicados a uma tabela ou visualização na guia Relatório. Esse contexto é frequentemente utilizado com medidas no Power BI.

As medidas conseguem se adaptar aos filtros aplicados de acordo com as visualizações e com os filtros definidos por fórmulas DAX. As medidas são agregadoras e podem ter seus resultados alterados quando filtramos uma ou mais tabelas que são suas fontes.

Esses filtros podem vir de seleções do usuário, segmentações de dados, filtros aplicados nos visuais, entre outros.

Por exemplo, no material dessa aula, temos diversas tabelas disponíveis com os dados referentes a uma empresa fictícia, como histórico de vendas, cadastro de lojas, produtos e clientes.

A partir desses dados, podemos criar uma medida chamada Total Vendas que será a soma dos valores da coluna Qtd Vendida da tabela fVendas.

Total Vendas = SUM(fVendas[Qtd Vendida])

Podemos utilizar essa medida como valor dentro de uma Matriz no Power BI.

Matriz no Power BI

Dessa forma, temos o valor único da medida que é 84174 vendas. Porém, podemos filtrar esse valor adicionando ao campo Linhas da matriz a coluna Marca da tabela dProdutos.

Matriz no Power BI

Nesse caso, a medida Total Vendas está sendo avaliada no contexto do filtro atual aplicado a essa matriz, que são as marcas dos produtos.

O mesmo poderia ser feito se adicionássemos uma segmentação de dados, selecionando a coluna País da tabela dLojas.

segmentação de dados

Dessa forma, além de visualizarmos por marca, também adicionamos o contexto de filtro de país.

Contexto de Linha no Power BI

O Contexto de Linha no Power BI diz respeito ao contexto da linha atual em uma tabela. Esse tipo de contexto é comum quando estamos trabalhando com fórmulas DAX que retornam resultados em linhas individuais nas tabelas.

Sua aplicação mais frequente é nas colunas calculadas, onde fazemos operações utilizando outras colunas da tabela para obter o resultado da nova coluna. Nesse caso, cada linha é calculada de forma independente, seguindo o contexto de linha.

Por exemplo, podemos criar uma nova coluna na tabela fVendas chamada Fat. Na Venda que calculará o faturamento nas vendas da empresa.

Fat. Na Venda = fVendas[Qtd Vendida]*fVendas[Preco Unitario]
faturamento nas vendas da empresa

Nesse caso, o contexto considerado pelo Power BI é o de linha, pois para calcular o valor presente na coluna Fat. Na Venda, ele está olhando apenas para cada linha da tabela individualmente.

Caso queira entender mais a fundo os diferentes tipos de contexto no Power BI, eu recomendo que veja a aula abaixo:

Transição de Contexto no Power BI

A transição de contexto no Power BI refere-se à mudança de um contexto de filtro para outro durante o cálculo de uma fórmula DAX.

Essa transição ocorre frequentemente quando usamos funções DAX que alteram o contexto de filtro, como CALCULATE, FILTER, entre outras.

A transição de contexto permite que realizemos cálculos complexos e dinâmicos, adaptando-se a diferentes filtros e visualizações.

Transição de Contexto com CALCULATE

Uma das fórmulas DAX mais conhecidas, que utilizamos bastante e que é capaz de alterar o contexto de filtro de uma expressão é a fórmula CALCULATE.

Essa função avalia a expressão no contexto de filtro original e, em seguida, aplica novos filtros definidos dentro dela.

Por exemplo, dentro da tabela dProdutos, podemos criar uma coluna definindo o total que cada produto vendeu.

Vamos chamar essa coluna de Soma Vendas e aplicar nela a fórmula SUM.

Soma Vendas = SUM(fVendas[Qtd Vendida])
Soma Vendas

Como resultado, não temos a quantidade vendida de cada produto, mas sim a quantidade total de vendas feitas.

Isso acontece porque a fórmula SUM, assim como outras funções agregadoras como média, contagem, máximo e mínimo, retorna um único valor, agregando os dados de toda a tabela.

Para que a função SUM funcione corretamente em um contexto de linha, precisamos fornecer um contexto de filtro adequado. Como não temos nenhum filtro sendo aplicado, ela retorna o valor total da soma.

É nesse cenário que podemos utilizar a transição de contexto com a função CALCULATE. Essa função modifica o contexto de filtro para avaliar a expressão a partir de um novo filtro.

Dentro da tabela, não podemos aplicar filtros da mesma forma que fazemos na guia de relatórios. Portanto, usamos funções como CALCULATE, RELATED, ALL, FILTER, entre outras, para alterar o contexto de filtro.

Vamos usar a função CALCULATE no nosso exemplo para mudar o contexto de filtro.

Soma Vendas = CALCULATE(SUM(fVendas[Qtd Vendida]))
Soma Vendas com Calculate

Repare que, ao utilizarmos a fórmula com CALCULATE, o resultado já passa a considerar apenas as somas da quantidade vendida para cada linha do produto.

Ele alterou o contexto de filtro para linha, permitindo que a quantidade vendida por produto seja calculada corretamente.

Para entendermos melhor, o Power BI passa a considerar como filtro da linha o código de produto SKU, pois é essa a informação que relaciona a tabela dProdutos com a tabela fVendas.

Transição de Contexto com a Medida

Da mesma forma que fizemos utilizando a fórmula CALCULATE, podemos fazer o mesmo procedimento de forma mais simples, utilizando a medida que havíamos criado anteriormente para o total de vendas.

Podemos criar uma nova coluna que utilize essa medida para calcular um valor específico para cada linha da tabela:

Soma Vendas = [Total Vendas]

Neste caso, ao utilizar [Total Vendas] para criar uma nova coluna, o Power BI calcula o valor da medida para cada linha, utilizando o contexto de linha atual. Isso funciona porque a medida Total Vendas se adapta ao contexto em que é avaliada.

No Power BI, podemos fazer a transição de contexto usando fórmulas DAX como FILTER e CALCULATE, ou utilizando uma medida para a criação de uma coluna, como mostrado acima.

Portanto, tanto utilizando a medida diretamente como criando uma coluna calculada com CALCULATE, estamos ajustando o contexto de filtro para obter os resultados desejados

Onde Usar a Transição de Contexto? – Caso Prático

Para entender como e onde usar a transição de contexto no Power BI, vamos analisar um caso prático real.

Considere que estamos trabalhando com a base de dados de uma empresa. Essa empresa tem como objetivo vender pelo menos duas mil unidades por mês. Nosso objetivo é descobrir a porcentagem de meses em que passamos a meta.

Para fazer isso, precisamos definir a quantidade total de meses e a quantidade de meses em que a meta foi batida.

Definindo a Quantidade Total de Meses:

Podemos considerar a quantidade de meses únicos presentes na coluna Mês Venda da tabela fVendas.

Para isso, vamos criar uma nova medida usando a fórmula DISTINCTCOUNT, passando como argumento a coluna Mês Venda.

Qtd Meses = DISTINCTCOUNT(fVendas[Mês Venda])

Podemos inserir essa medida dentro de um cartão na guia de relatório para visualizar a quantidade de meses totais em que tivemos vendas registradas.

Quantidade Total de Meses

Com isso, concluímos que tivemos 30 meses totais registrados nas vendas.

Criando a Listagem de Meses:

Agora, precisamos criar uma lista com todos os meses e o valor atingido em cada um. Faremos isso utilizando a fórmula VALUES.

Na guia de modelo, vá até a página inicial e selecione a opção Nova Tabela.

Nova Coluna

Vamos chamar a nova tabela de Listagem Meses e utilizar a função VALUES, passando como argumento a coluna Mês Venda da tabela fVendas.

Listagem Meses = VALUES(fVendas[Mês Venda])
Listagem Meses

Em seguida, vamos selecionar essa coluna, definir o tipo de data como Data e a formatação como “mmm/yyyy” para exibir apenas o mês e o ano.

exibir apenas o mês e o ano

Calculando Vendas Mensais:

Para calcular as vendas dentro de cada mês, primeiro precisamos criar um relacionamento entre tabelas, relacionando a tabela que acabamos de criar com a tabela de vendas a partir da coluna Mês Venda presente nas duas.

Relacionamento entre tabelas

Feito isso, vamos criar uma nova coluna na tabela Listagem Meses. Podemos fazer isso utilizando a função CALCULATE e SUM para somar as vendas mensais, ou então passando apenas a medida Total Vendas.

Soma Vendas = CALCULATE(SUM(fVendas[Qtd Vendida]))

ou

Soma Vendas = [Total Vendas]
Soma vendas por mês

Agora temos uma tabela exibindo os meses e a quantidade vendida em cada um deles.

Filtrando Meses Acima da Meta:

Para finalizar, precisamos pegar apenas os meses em que as vendas foram superiores a 2000 unidades.

Vamos modificar a fórmula que define nossa tabela Listagem Meses utilizando a função FILTER para filtrar essa tabela. Dentro desse filtro, vamos comparar o total vendido em cada mês verificando se o valor é maior do que 2000.

Podemos fazer essa comparação utilizando a função CALCULATE ou a medida Total Vendas. Eu vou optar pela medida, por tornar a fórmula mais clara e concisa.

Listagem Meses > Meta = FILTER(
    VALUES(fVendas[Mês Venda]),
    [Total Vendas] > 2000)

Com isso, teremos nossa tabela Listagem Meses exibindo apenas os meses com vendas superiores a dois mil.

tabela Listagem Meses exibindo apenas os meses com vendas superiores

Perceba que, se não conhecêssemos os conceitos e como funcionam os contextos no Power BI, poderíamos tentar aplicar a verificação de vendas da seguinte forma:

Listagem Meses > Meta = FILTER(
    VALUES(fVendas[Mês Venda]),
    SUM(fVendas[Qtd Vendida]) > 2000)

Dessa forma, a tabela não filtraria os resultados como esperado, porque a soma da quantidade vendida consideraria o valor de todos os meses agregados.

É por isso que é importante saber aplicar a transição de contexto corretamente, para evitar erros como esses.

Contando os Meses Acima da Meta:

Por fim, precisamos criar uma medida para contar os meses em que as vendas foram superiores à meta. Faremos isso utilizando a função COUNTROWS.

Qtd Meses > Meta = COUNTROWS('Listagem Meses > Meta')

Para exibir o valor, podemos criar um cartão na guia de relatório e adicionar essa medida a ele.

Meses Acima da Meta

Concluímos que tivemos 11 meses com vendas acima da meta.

Alternativa com Medida:

Uma abordagem alternativa seria fazer todo esse processo dentro de uma única medida, sem criar tabelas adicionais:

Qtd Meses > Meta =
COUNTROWS(
    FILTER(
        VALUES(fVendas[Mês Venda]),
        [Total Vendas]>2000
    )
)

Com essa medida, chegaríamos ao mesmo resultado.

Calculando a Porcentagem de Meses Acima da Meta:

Para concluir nossa análise, basta dividirmos a quantidade de meses acima da meta pela quantidade total de meses. Assim, teremos a porcentagem equivalente dos meses que ficaram acima da meta.

% Meses > Meta = [Qtd Meses > Meta]/[Qtd Meses]

Podemos adicionar essa medida em um cartão e formatar como percentual.

Porcentagem de Meses Acima da Meta

Conclusão – Transição de Contexto no Power BI

Na aula de hoje, você aprendeu sobre o que é o contexto no Power BI e os diferentes tipos de contextos existentes.

Além disso, exploramos como fazer a transição de contexto no Power BI e como essa técnica pode ser aplicada para resolver um caso prático e real.

Com esse conhecimento, você será capaz de tornar suas análises de dados mais completas e eficientes, compreendendo melhor os procedimentos e aplicações dos cálculos, fórmulas e medidas.

Essa habilidade permitirá que você realize análises mais precisas e detalhadas, aproveitando todo o potencial do Power BI.

Hashtag Treinamentos

Para acessar outras publicações de Power BI, clique aqui!


Quer aprender mais sobre Power BI com um minicurso básico gratuito?

Posts mais recentes da Hashtag Treinamentos

Diego Monutti

Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.