Ir para conte√ļdo

ūüöÄ Desafios

  • postagens
    7
  • coment√°rios
    272
  • visualiza√ß√Ķes
    5.867

Contribuíram para este blog

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


Leonardo Karpinski

1.865 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.

  • Gostei 7

13 Coment√°rios


Coment√°rios Recomendados

  • Membros
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

 

 

  • Gostei 3
Link para o coment√°rio
  • Membros

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

  • Gostei 3
Link para o coment√°rio
  • Membros

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

  • Gostei 2
Link para o coment√°rio
  • Membros

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

  • Gostei 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...