Ir para conteúdo
  • 0

Histograma no Power BI


Felipe G Martins
Ir para solução Solucionado por Renato Carlos Rossato ,

Pergunta

  • Alunos

Olá pessoal!!

Queria um help pra construir um histograma no Power BI. Tenho esse exemplo da imagem onde temos o Ano, o nome da pessoa e o esporte que ela praticou em cada ano.
Nesse histograma gostaria de saber a quantidade de esportes diferentes que foram praticados por x pessoas (de forma que funcione o filtro de ano). Estou anexando a tabela de dados simplificada. O resultado esperado seria um gráfico como esse da imagem:
image.png.e33353ce085108d05fc983f6dbdc95cf.png

exemplo histograma.xlsx

Editado por Felipe G Martins
Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Olá Felipe, veja se assim ajuda você ai.

Primeiro criei uma tabela com a  GenerateSeries com a contagem distinta dos esportes:

d_esportes_distintos = GENERATESERIES(1, DISTINCTCOUNT(f_Base[Esporte]), 1)

Depois fiz a contagem distinta dos Esportes em uma medida recuperando o contexto de filtro do nome:

Contagem Esportes =
CALCULATE(
DISTINCTCOUNT(f_Base[Esporte]),
VALUES(f_Base[Nome]) --Recuperou o contexto de nome
)

Em seguida usei variáveis para sumarizar por pessoa e a FILTER para criar o relacionamento virtual com o operador IN para que o eixo personalizado com a tabela d_esportes distintos funcionasse como o esperado:

Qtde Gráfico =
VAR vtabelaQtdePorPessoa =
SUMMARIZE( --Sumarizei os dados
          f_base,
          f_Base[Nome],
          "Contagem",
          [Contagem Esportes]
)
VAR vtabelafiltrada =
FILTER(
      vtabelaQtdePorPessoa,
      [Contagem] IN VALUES(d_esportes_distintos[Value]) --Relacionamento virtual
)
RETURN
COUNTROWS(vtabelafiltrada) + 0

Depois só colocar a coluna value da d_esportes_distintos no eixo x e a medida Qtde Gráfico no eixo Y.

image.png.ccaf857ad70f56d985efdf3ff049776a.png

Em anexo o PBIX.

Espero que assim consiga solucionar seu problema ai.

 

 

 

 

 

 

Solução Desafio.pbix

  • Like 1
  • Thanks 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
41 minutos atrás, Felipe G Martins disse:

Pra ficar melhor explicada a imagem, incluí essas tabelinhas no lado direito:
image.png.9b43b65a3a9eca7292a1b07b2f62b83e.png

Olá, @Felipe G Martins

Segue solução, espero que atenda sua necessidade:

*Caso atenda, gentileza marcar como "Solução" ✔️
image.png.94e6a0f7bac55880952f03827900ae40.png

Solução Total Esportes - Abraão Lincoln.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Oi @Abraão Lincoln, obrigado mas não seria essa a solução.

No eixo X do gráfico de colunas eu precisaria da quantidade distinta de esportes e no eixo Y a quantidade de pessoas que praticam essa quantidade distinta de esportes.

Como no desenho abaixo:
image.png.3278e59ae71e5e9ef365a0eaf9582744.png

A tabelinha que eu havia colocado ao lado seria só pra facilitar o entendimento de quem são as pessoas que estão sendo contadas no eixo Y, pra cada quantidade de esportes. Acho que isso pode ter confundido.

Editado por Felipe G Martins
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 02/11/2022 em 16:50, Felipe G Martins disse:

Oi @Abraão Lincoln, obrigado mas não seria essa a solução.

No eixo X do gráfico de colunas eu precisaria da quantidade distinta de esportes e no eixo Y a quantidade de pessoas que praticam essa quantidade distinta de esportes.

Como no desenho abaixo:
image.png.3278e59ae71e5e9ef365a0eaf9582744.png

A tabelinha que eu havia colocado ao lado seria só pra facilitar o entendimento de quem são as pessoas que estão sendo contadas no eixo Y, pra cada quantidade de esportes. Acho que isso pode ter confundido.

Boa tarde @Felipe G Martins!

Veja se te atende. 

Se esta resposta resolver seu problema, gentileza classificá-la como Solução 

Atenciosamente,

Bernardo Vitor
(31) 99116-6134
LinkedIn: https://www.linkedin.com/in/bernardo-vitor

186128112_SoluoTotalEsportes-AbraoLincoln.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Boa tarde @Bernardo Vitor! Obrigado por ajuda, mas a solução ainda não atende. O eixo X no gráfico do pbix enviado está com números decimais, o visual fica confuso independente do filtro de ano aplicado e os resultados não batem com a imagem que enviei.

Queria muito uma solução aplicável ao gráfico de colunas nativo do Power BI, mas não consegui ainda uma forma de tornar isso possível.

@Leonardo Karpinski, tá aí um bom case pro #MestreResolve 😅

Link para o comentário
Compartilhar em outros sites

  • 0
Em 04/11/2022 em 14:54, Felipe G Martins disse:

Boa tarde @Bernardo Vitor! Obrigado por ajuda, mas a solução ainda não atende. O eixo X no gráfico do pbix enviado está com números decimais, o visual fica confuso independente do filtro de ano aplicado e os resultados não batem com a imagem que enviei.

Queria muito uma solução aplicável ao gráfico de colunas nativo do Power BI, mas não consegui ainda uma forma de tornar isso possível.

@Leonardo Karpinski, tá aí um bom case pro #MestreResolve 😅

Que tal lançar um desafio interno para os alunos resolverem no Discord?

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Segue minha proposta de solução.
1) Criei uma tabela auxiliar dNumEsportes com números de 1 a 10, representando a quantidade de esportes (usando a GENERATESERIES). O objetivo é usar no eixo x do gráfico.

2) Criei a seguinte medida para calcular o número de pessoas para cada quantidade de esportes:

Num Pessoas = 
VAR vNumEsportes = 
    MAX(dNumEsportes[Qtd Esportes])
VAR vTabelaSumarizada = 
    SUMMARIZE(
        fDados,
        fDados[Nome],
        "QtdeEsportes",
        DISTINCTCOUNT(fDados[Esporte])
    )
VAR vNumPessoas = 
    FILTER(
        vTabelaSumarizada,
        [QtdeEsportes] = vNumEsportes
    )
RETURN
    COUNTROWS(vNumPessoas)

 

20221114_QtdePessoasPorQtdeEsportes.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Bom Dia,

Segue solução que cheguei.

 

Basicamente o que fiz foi criar uma medida que mostrasse a quantidade de esportes.

image.png.13fa1c2eb7e59d6a97c8c6a77ebe3c86.png

 

Depois eu criei um tabela de uma coluna que vai de 1 até o número máximo de esporte, ou seja, eu sei qual é a quantidade máxima de esporte de uma pessoa, respeitando o filtro aplicado. Isso seria o meu eixo X.

image.png.3eec9cc7a446b8ec2f6bb9f41bc65f9f.png

 

Depois eu criei uma medida onde eu conseguiria ver a quantidade de pessoas que possuem aquela quantidade de esporte.

image.png.a350543e3581b0737d70f090ebef9ae9.png

 

 

Qtd_Pessoas_Eixo_Dinamico.pbix

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...