Ir para conteúdo

🚀 Desafios Kickstart

  • postagens
    12
  • comentários
    486
  • visualizações
    17.055

Contribuíram para este blog

Desafio #005 | Salve o Carlos! Gráfico com Total + Outros!


Leonardo Karpinski

2.663 visualizações

Aluno do Mestre é desafiado sempre!
Chegou seu novo desafio! 
😍

Periodicamente eu irei postar um novo desafio aqui, para te fazer sair da famosa "zona de conforto". Bora lá, participar?!

💥O Desafio:

Carlos é Analista de dados da área comercial de uma empresa que vende bebidas.
Júlia, sua gerente, solicitou que Carlos atualizasse o Dashboard atual deles adicionando esse visual abaixo numa página a parte.

Nessa página precisa ter um segmentador de dados (filtro) de produtos e ao lado um gráfico contendo o valor faturado pelos produtos selecionados no segmentador,  o total acumulado dos outros produtos não selecionados e também o total de produtos (selecionados + não selecionados).

image.thumb.png.aeb2434af7869af1b060a400132275d9.png

Carlos está mega enrolado com outras demandas da empresa, e te contratou para ajudá-lo nesse desafio. Ele disse para você utilizar uma base de vendas simples para desenvolver essa solução. Ele falou o seguinte:

" A solução precisa ter uma tabela fato de vendas simples (poucas linhas) com a venda desses produtos (faturamento, data da venda e id do produto), uma tabela calendário e uma tabela dimensão com mais de 4 produtos). "

Como ele próprio vai precisar implementar essa solução na empresa dele, é fundamental que você descreva bem todas as etapas executadas para se chegar na solução, para que ele mesmo possa executá-las.

 

📅 Prazo:

Você tem até às 18:00h do dia 07/06/2022 para entregar.

Por favor, só adicione comentários com a solução do desafio, ok?! 
Comentários não relacionados à solução dos participantes serão deletados sem aviso prévio.
👉 Para tirar dúvidas sobre o desafio, utilize os canais apropriados no Canal do Discord. 
Caso ainda não tenha ingressado lá, veja essa aula: Comunidade Power BI Experience

 

🚨 Requisitos obrigatórios do desafio:

1) Tire 1 print com esses dois visuais na mesma página: 

- Visual Segmentador com mais de 3 produtos selecionados
- Gráfico de colunas com os produtos selecionados, "Outros" e "Total".

2)  Descreva passo a passo de como você chegou nessa solução:

Queremos saber tudo que você fez para chegar na solução, quais medidas, quais filtros, quais recursos técnicos você utilizou, e tudo com prints e textos (para as medidas), ok?!

3) Deixe seu Perfil do Linkedin e Instagram no texto da solução! 
Ex: 
https://www.instagram.com/leokarpa
https://www.linkedin.com/in/leokarpa/

Importante: Não é para inserir o arquivo PBIX no comentário. Apenas prints e texto!
 

🏁 Como entregar:

- Insira um comentário abaixo com os prints detalhando sua solução.
- Depois compartilhe esse post no LinkedIn utilizando as hashtags #incomparaveis e #DesafiodoMestre.
(Checaremos, viu?!👀 Lembre-se: quem não é visto, não é lembrado!)

 

🌐 Divulgação da escolha da solução:

08/06/2022: escolherei as melhores respostas por aqui! Deixarei em destaque os comentários escolhidos nesse Post!
Esta é sua chance de mostrar para a comunidade que você saber resolver problemas!
Lembre-se: no final, é isso que qualquer empresa quer de um profissional! 😉

 

🏀 A bola está com você! Agora é só fazer cesta!

Comece já!

Abraços,
Leonardo Karpinski.

  • Like 7

13 Comentários


Comentários Recomendados

  • Alunos
1 hora atrás, Luis Claudio Santana Olive disse:

 

 

Primeiro foi criada uma tabela física com uma única coluna para acrescentar as linhas de "Não Selec." e " Total Geral" como foi explicado, não tem outra forma de incluir novas barras no gráfico se não for dessa forma.

image.png.255d90509b18fb2048254be6443f7a20.png

Essa nova tabela não vai ter um relacionamento físico, vai ter um relacionamento virtual por esse motivo ela vai ficar isolada.

image.png.3c7a4c27bfe88263fbc0403c827676e7.png

Nosso modelo precisa de três medidas:
Total de Vendas.

image.png.11fe16921697a04735a0773e3606ea13.png

Total Fixo de Vendas >> Que vamos utilizar na próxima medida para a barra de total geral

image.png.fe1a1191308ab967c51809f0142ceba2.png


Selec. Não/Selec. e Total Geral.

image.png.9e2177ddfceb01f2e71f3cd0d26437a6.png

Coluna Grupo da Tabela auxiliar vai ficar no eixo para ser filtrada.

image.png.84e26647f72dbb89da6b643fe72676a2.png

 

Grupo da Tabela principal no Segmentador de dados para filtrar o eixo.

image.png.60759052d328a521d4764a092c585326.png

 

E assim obtivemos esse resultado com 05 grupos filtrado aparecendo no eixo, com a coluna total  "Não Selec." e "Total Geral" destacados em colunas separadas.

image.png.676006326fd35c43bfb169b29b3b2a0e.png

 

 

Finalizando com uma página completa.

image.thumb.png.5f40fe2c89a7abce515e8823f8f1faad.png

 

 

linkedin.com/in/luis-claudio-320477209

 

 

  • Like 3
Link para o comentário
  • Alunos

Prezados, tudo bem. Para ajudar o Carlos com a demanda em aberto, inicialmente criei uma tabela produtos auxiliar onde criei a coluna id_produtos e nome_produtos, para incluir a linha outros e total, conforme imagem abaixo:

image.thumb.png.f5b4a7b69ef41dc6371c9edc05aba93a.png

dando sequência combinei as duas tabelas dPRODUTO com dPRODUTO_AUX, assim criei a dPRODUTOS_AUX e desabilitei a carga de dPRODUTO_AUX. Abaixo segue a dPRODUTOS_AUX:

image.thumb.png.6bfd43a924d1da0c5691db0da9dda46b.png

Com relação as relacionamentos estão evidenciados abaixo:

image.thumb.png.b21f281a315bce3046d080be0cd1b906.png

em seguida criei a dCALENDARIO via DAX CALENDARAUTO() e criei o relacionamento:

image.thumb.png.0a5282b99ef21a416f679dad748c5f3d.png

image.thumb.png.45ac096b8cf46b571f6e269d0c3b0d2b.png

posteriori desenvolvi as medidas:

Faturamento =
CALCULATE(
SUM(fFATURAMENTO[faturamento]);
fFATURAMENTO[faturamento] > 0
)

como filtro deixei o filtro maior que zero, uma vez que o produto 24 descrito no DESAFIO 5 esta selecionado e não aparece no gráfico de colunas:

image.thumb.png.aeb2434af7869af1b060a400132275d9.png

A segunda medida desenvolvida foi:

Faturamento Total =
VAR vFATURAMENTO_TOTAL =
IF(
SELECTEDVALUE(dPRODUTOS_AUX[nome_produto]) = "total";
CALCULATE(
[Faturamento];
REMOVEFILTERS(dPRODUTO)
)
)
RETURN
vFATURAMENTO_TOTAL

A terceira medida desenvolvida foi:

Faturamento Outros =
IF(
SELECTEDVALUE(dPRODUTOS_AUX[nome_produto]) = "outros";
SUMX(
ALLSELECTED(
dPRODUTOS_AUX);
[Faturamento Total] - [Faturamento]
)
)

A quarta medida desenvolvida foi:

Faturamento Contexto =
SWITCH(
TRUE();
NOT(SELECTEDVALUE(dPRODUTOS_AUX[nome_produto]) IN {"outros"; "total"}); [Faturamento];
SELECTEDVALUE(dPRODUTOS_AUX[nome_produto]) = "outros"; [Faturamento Outros];
SELECTEDVALUE(dPRODUTOS_AUX[nome_produto]) = "total"; [Faturamento Total]
)

Finalizando com a medida para colorir o gráfico:

Faturamento Colorir =
SWITCH(
TRUE();
SELECTEDVALUE(dPRODUTOS_AUX[nome_produto]) = "total"; "RED";
SELECTEDVALUE(dPRODUTOS_AUX[nome_produto]) = "outros"; "ORANGE";
"BLUE"
)

Abaixo segue o 5º desafio concluído:

image.thumb.png.2595ba56e8b7bf86c4c3c189d0c8919b.png

Obrigado Mestre Leonardo e equipe POWER BI EXPERIENCE por nos proporcionar esses desafios uma vez que nos agregam como profissionais.

 

https://www.instagram.com/maroninc/

https://www.linkedin.com/in/nelson-carlos-da-silva-maroni-30746a144

  • Like 3
Link para o comentário
  • Alunos

Já que fiz o desafio. Bora postar e engajar.

Para ajudar o Carlos, precisamos criar uma tabela dProdutos auxiliar adicionando 2 linhas com as opções de "Outros" e "Total" e novos IDs.

image.png.b4959258ed1ad8f785d42df9c9bae155.png

Logo após, precisamos criar uma medida de faturamento simples:

image.png.3ec21c0a1bdccea5adbc48d0d34acabc.png

Agora sim, estamos prontos para fazer a medida principal e colocar pra execução!

image.png.2d06de1a91a4c28dd0d17a3312711db0.png


Por fim, vamos em 'Visual' , 'mostrar tudo' e então escolhemos as cores de nosso agrado.


image.png.ae0a3286a8474eae8a6340bf5df201b4.png

Essa é minha contribuição. Espero que tenham mais desafios.

image.png.1fee54dd63e8062683c6d3a685a9170d.png

Parabéns a todos

  • Like 2
Link para o comentário
  • Alunos

Passo a passo para a solução:

 

1.       Para que as colunas “Total” e “Outros” se tornassem uma categoria para compor o gráfico juntamente com os produtos, criei uma tabela auxiliar exibindo todos os valores exclusivos dos produtos e acrescentando as duas linhas de total e outros.

Utilizei as funções DAX UNION e ROW.

Produtos (Total e outros) = UNION(VALUES(D_Produto[Descrição Produto]), ROW("Descrição Produto", "Total"), ROW("Descrição Produto", "Outros"))

 

 

2.       Após isso, criei uma medida para exibir o valor do gráfico.
Nessa medida, foi criada uma condição em que:

 

>  Se a coluna for “Total”, o gráfico deverá exibir o valor total do faturamento, independente de quaisquer filtros que estejam sendo aplicados. Para isso, criei então uma variável utilizando as funções DAX CALCULATE + ALL:

var Totalall = CALCULATE(SUM(F_Vendas[Faturamento]),

            all(D_Produto[Descrição Produto]))

 

 

>  Se a coluna for “Outros”, o gráfico deverá exibir a diferença entre o total faturado e o total das categorias selecionadas no filtro lateral. Para isso, criei uma segunda variável utilizando as funções DAX CALCULATE + ALLSELECTEC (assim ele trará sempre o total de acordo com os filtros selecionados). No return, farei a diferença entre o total “fixo” (que é a minha variável Totalall) e o TotalAllselectec.

var TotalAllselected = CALCULATE(SUM(F_Vendas[Faturamento]), ALLSELECTED(D_Produto[ID Produto]))

 

>  Se a minha coluna não for “Total” nem “Outros”, ou seja, os produtos em si, o gráfico deverá exibir o total do faturamento de cada produto. Para isso, criei uma terceira variável e utilizei as funções DAX CALCULATE + INTERSECT + VALUES (assim será calculado somente o valor dos produtos, desconsiderando os valores do “Total” e “Outros”, visto que não retornarão na interseção solicitada na medida):

var produtos = CALCULATE(SUM(F_Vendas[Faturamento]),

                INTERSECT(VALUES(D_Produto[Descrição Produto]),

                VALUES('Produtos (Total e outros)'[Descrição Produto])))

  

>  Para retornar essas três variáveis, utilizei as funções DAX IF + HASONEVALUE + SWITCH + VALUES:

Valor gráfico =

var Totalall = CALCULATE(SUM(F_Vendas[Faturamento]),

            all(D_Produto[Descrição Produto]))

 

var TotalAllselected = CALCULATE(SUM(F_Vendas[Faturamento]), ALLSELECTED(D_Produto[ID Produto]))

 

var produtos = CALCULATE(SUM(F_Vendas[Faturamento]),

                INTERSECT(VALUES(D_Produto[Descrição Produto]),

                VALUES('Produtos (Total e outros)'[Descrição Produto])))

 

return

    IF(HASONEVALUE('Produtos (Total e outros)'[Descrição Produto]),

     SWITCH(

          VALUES('Produtos (Total e outros)'[Descrição Produto]), "Total", Totalall, "Outros", Totalall - TotalAllselected, produtos))

 

3. Após a criação da tabela auxiliar e das medidas,  inseri o gráfico de colunas e em seu eixo coloquei a coluna "Descrição do Produto" da tabela auxiliar (onde constam, além dos produtos, as linhas de "Total" e "Outros") e em valores eu inseri a medida valor do gráfico, que retornará o valor de acordo com cada coluna.
Quanto às cores, fiz a a formatação do gráfico ao final.


Linkedin: https://www.linkedin.com/in/deboraluna/
Instagram: https://www.instagram.com/deb.luna/

image.thumb.png.71a3484d7ca705d617dd68db63de75dd.png

 

 

 

image.thumb.png.a366a19bd36e5d67997df5b8d383213a.png

  • Like 2
Link para o comentário
Em 20/06/2022 em 21:02, Luis Claudio Santana Olive disse:

Olá teve resultado do desafio nº 05????

 

Oi Luis, as respostas foram fixadas (elaboradas pelos próprios alunos).
Se quiser ver um passo a passo em vídeo, sugiro que assista essa aula: clique aqui para assistir.

Link para o comentário
Visitante
Esta postagem está impedida de receber novos comentários.
×
×
  • Criar Novo...