Ir para conteúdo
  • 0

Waterfall Chart com multiplas medidas


victordardes
Ir para solução Solucionado por Joao Raulino ,

Pergunta

  • Alunos

Bom dia comunidade, tudo bem?

Preciso fazer um grafico de waterfall, sendo que cada pilar corresponderia a uma medida. Estas medidas geram um valor final  em %.

Queria saber se é possivel dar um "jeitinho" pra que este grafico fosse maleavel na inclusão dessas informações/medidas.

Ja tentei de algumas formas, mas sem sucesso algum...

Apenas mais algumas  observações:

1 - O grafico original vem dum excel, em que as coisas mais maleaveis na inclusão de intervalo de valores e racionais de calculo. Porém, a principio não há (ou nao tenho esse conhecimento) para fazer o mesmo no BI. To nessa "missão" de criar este mesmo grafico no Power BI.

2 - Os calculos das medidas são bem extensas. Pra chegar num valor final de uma medida, é necessario a criação de varias outras.

Mesmo que eu fizesse a medida final utilizando VARiaveis, ainda aasim seria bem complexo e longo de fazer.

brigado!

 

 

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Suave @victordardes?

Analisando o teu .PBIX, da para fazer o que você quer usando um gráfico de colunas empilhadas com uma tabela auxiliar desconectada e algumas medidas SWITCH:

image.png.9969d76aa4cccf757cc34cf62d45bad7.png

A tabela auxiliar serve para definir as categorias do teu eixo-X e a ordem delas:

image.png.314a7f05bddfbc22559b83bfb95aa311.png

E as medidas SWITCH vão dizer qual medida IMPACTO deve ser considerada para cada categoria do eixo-X:

Citar
# Waterfall IMPACTO (Verde) =
SWITCH(
    TRUE(),
    MAX(auxWaterfall[Categoria]) = "Canc. Dup.", 0,
    MAX(auxWaterfall[Categoria]) = "Cxs Recuperadas", 0,
    MAX(auxWaterfall[Categoria]) = "Cajas solicitadas por los clientes", [WF - TODOS OS PEDIDOS],
    MAX(auxWaterfall[Categoria]) = "Ruptura de stock", 0,
    MAX(auxWaterfall[Categoria]) = "Reuptura de Stock na Expedição", 0,
    MAX(auxWaterfall[Categoria]) = "Erro de Preco (SCJ)", 0,
    MAX(auxWaterfall[Categoria]) = "Erro no ingresso do pedido", 0,
    MAX(auxWaterfall[Categoria]) = "Obsoleto ANTERIOR data determinada", 0,
    MAX(auxWaterfall[Categoria]) = "Administracao Estrategica do Inventario", 0,
    MAX(auxWaterfall[Categoria]) = "CFR SCJ", [WF - CFR SCJ %],
    MAX(auxWaterfall[Categoria]) = "Promoções com Cota / Bloqueios informados", 0,
    MAX(auxWaterfall[Categoria]) = "Obsoleto APOS data determinada", 0,
    MAX(auxWaterfall[Categoria]) = "Erro de preco (Cliente)", 0,
    MAX(auxWaterfall[Categoria]) = "Erro de planta", 0,
    MAX(auxWaterfall[Categoria]) = "Outros", 0,
    MAX(auxWaterfall[Categoria]) = "CFR CV", [WF - CFR CV %]
)
Citar
# Waterfall IMPACTO (Laranja) =
SWITCH(
    TRUE(),
    MAX(auxWaterfall[Categoria]) = "Canc. Dup.", [WF - Impacto Ponderado Cancelamentos e Duplicados],
    MAX(auxWaterfall[Categoria]) = "Cxs Recuperadas", [WF - Impacto Ponderado Cxs Recuperadas],
    MAX(auxWaterfall[Categoria]) = "Cajas solicitadas por los clientes", BLANK(),
    MAX(auxWaterfall[Categoria]) = "Ruptura de stock", [WF - Impacto Ruptura de Estoque],
    MAX(auxWaterfall[Categoria]) = "Reuptura de Stock na Expedição", [WF - Impacto Ruptura de Estoque na Expedição],
    MAX(auxWaterfall[Categoria]) = "Erro de Preco (SCJ)", [WF - Impacto Erro de Preço(SCJ)],
    MAX(auxWaterfall[Categoria]) = "Erro no ingresso do pedido", [WF - Impacto Erro no Ingresso do Pedido],
    MAX(auxWaterfall[Categoria]) = "Obsoleto ANTERIOR data determinada", [WF - Impacto Obsoleto ANTERIOR data determinada],
    MAX(auxWaterfall[Categoria]) = "Administracao Estrategica do Inventario", [WF - Impacto Administração estrategica de Inventario],
    MAX(auxWaterfall[Categoria]) = "CFR SCJ", BLANK(),
    MAX(auxWaterfall[Categoria]) = "Promoções com Cota / Bloqueios informados", [WF - impacto Promoções com Cota / Bloqueios informados],
    MAX(auxWaterfall[Categoria]) = "Obsoleto APOS data determinada", [WF - impacto Obsoleto APOS data determinada],
    MAX(auxWaterfall[Categoria]) = "Erro de preco (Cliente)", [WF - impacto Erro de preco (Cliente)],
    MAX(auxWaterfall[Categoria]) = "Erro de planta", [WF - impacto Erro De Planta],
    MAX(auxWaterfall[Categoria]) = "Outros", [WF - impacto Outros],
    MAX(auxWaterfall[Categoria]) = "CFR CV", BLANK()
)

Por fim, recriamos a medida ACUMULADO que vai pintada de branco para deixar as medidas IMPACTO na altura correta:

Citar
# Waterfall ACUMULADO =
SWITCH(
    TRUE(),
    MAX(auxWaterfall[Categoria]) = "Canc. Dup.", [WF - TODOS OS PEDIDOS] + [WF - Impacto Ponderado Cxs Recuperadas],
    MAX(auxWaterfall[Categoria]) = "Cxs Recuperadas", [WF - TODOS OS PEDIDOS],
    MAX(auxWaterfall[Categoria]) = "Cajas solicitadas por los clientes", 0,
    MAX(auxWaterfall[Categoria]) = "Ruptura de stock", [WF - CFR SCJ %] + [WF - Impacto Administração estrategica de Inventario] + [WF - Impacto Obsoleto ANTERIOR data determinada] + [WF - Impacto Erro no Ingresso do Pedido] + [WF - Impacto Erro de Preço(SCJ)] + [WF - Impacto Ruptura de Estoque na Expedição],
    MAX(auxWaterfall[Categoria]) = "Reuptura de Stock na Expedição", [WF - CFR SCJ %] + [WF - Impacto Administração estrategica de Inventario] + [WF - Impacto Obsoleto ANTERIOR data determinada] + [WF - Impacto Erro no Ingresso do Pedido] + [WF - Impacto Erro de Preço(SCJ)],
    MAX(auxWaterfall[Categoria]) = "Erro de Preco (SCJ)", [WF - CFR SCJ %] + [WF - Impacto Administração estrategica de Inventario] + [WF - Impacto Obsoleto ANTERIOR data determinada] + [WF - Impacto Erro no Ingresso do Pedido],
    MAX(auxWaterfall[Categoria]) = "Erro no ingresso do pedido", [WF - CFR SCJ %] + [WF - Impacto Administração estrategica de Inventario] + [WF - Impacto Obsoleto ANTERIOR data determinada],
    MAX(auxWaterfall[Categoria]) = "Obsoleto ANTERIOR data determinada", [WF - CFR SCJ %] + [WF - Impacto Administração estrategica de Inventario],
    MAX(auxWaterfall[Categoria]) = "Administracao Estrategica do Inventario", [WF - CFR SCJ %],
    MAX(auxWaterfall[Categoria]) = "CFR SCJ", 0,
    MAX(auxWaterfall[Categoria]) = "Promoções com Cota / Bloqueios informados", [WF - CFR CV %] + [WF - impacto Outros] + [WF - impacto Erro De Planta] + [WF - impacto Erro de preco (Cliente)] + [WF - impacto Obsoleto APOS data determinada],
    MAX(auxWaterfall[Categoria]) = "Obsoleto APOS data determinada", [WF - CFR CV %] + [WF - impacto Outros] + [WF - impacto Erro De Planta] + [WF - impacto Erro de preco (Cliente)],
    MAX(auxWaterfall[Categoria]) = "Erro de preco (Cliente)", [WF - CFR CV %] + [WF - impacto Outros] + [WF - impacto Erro De Planta],
    MAX(auxWaterfall[Categoria]) = "Erro de planta", [WF - CFR CV %] + [WF - impacto Outros],
    MAX(auxWaterfall[Categoria]) = "Outros", [WF - CFR CV %],
    MAX(auxWaterfall[Categoria]) = "CFR CV", 0
)

Depois disso é só fazer os ajustes estéticos (cor, tamanho de fonte, negrito, etc...) necessários para o teu caso.

Se essa resposta te ajudou, não esquece de marcar como melhor solução 😉

Abs!

Editado por Joao Raulino
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
26 minutos atrás, victordardes disse:

Bom dia comunidade, tudo bem?

Preciso fazer um grafico de waterfall, sendo que cada pilar corresponderia a uma medida. Estas medidas geram um valor final  em %.

Queria saber se é possivel dar um "jeitinho" pra que este grafico fosse maleavel na inclusão dessas informações/medidas.

Ja tentei de algumas formas, mas sem sucesso algum...

Apenas mais algumas  observações:

1 - O grafico original vem dum excel, em que as coisas mais maleaveis na inclusão de intervalo de valores e racionais de calculo. Porém, a principio não há (ou nao tenho esse conhecimento) para fazer o mesmo no BI. To nessa "missão" de criar este mesmo grafico no Power BI.

2 - Os calculos das medidas são bem extensas. Pra chegar num valor final de uma medida, é necessario a criação de varias outras.

Mesmo que eu fizesse a medida final utilizando VARiaveis, ainda aasim seria bem complexo e longo de fazer.

brigado!

 

 

@victordardes, tudo bem? Consegue compartilhar o pbix?

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 minuto atrás, Joao Raulino disse:

Suave @victordardes?

Ainda não olhei o .PBIX em detalhes, mas já pensou em utilizar parâmetros de campo para agroupar as medidas?

https://learn.microsoft.com/pt-br/power-bi/create-reports/power-bi-field-parameters

Pode ser um bom primeiro passo para a construção do teu modelo 😉

Abs!

João, vou dar uma olhada neste conteudo, quem sabe nao seja uma alternativa pra o que eu preciso. tks por compartilhar

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
5 minutos atrás, Edson Igari disse:

tem uma imagem do resultado esperado? Consegue fazer?

Segue:

 

Capture: Resultado final

Capture2: Local aonde se encontram as informações
Capture3: Um dos racionais de calculo ( esses mesmos calculos é o que Fiz a mão em medidas no BI, que se iniciam com WF)

*As colunas em laranja talvez nao façam sentido, mas elas estão sobrepostas com a suas respectivas informações de Acumulado e Impacto ponderado, so que a barra correspondente a Acumulado esta pintada de branco, por isso só aparecem os dados referente ao Impacto ponderado.

Se você observar na primeira ABA do pbix, eu consegui transferir os dados das medidas, mas como cartões, porém, o meu chefe contnua martelando na ideia que quer essas informações num walterfall como era feito no Excel. Continuo insistindo na ideia dele pois não tenho certeza se é possivel fazer desta forma (ou proximo disso) ou não.

Capture2.PNG

Capture.PNG

Capture3.PNG

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
3 horas atrás, Joao Raulino disse:

Suave @victordardes?

Analisando o teu .PBIX, da para fazer o que você quer usando um gráfico de colunas empilhadas com uma tabela auxiliar desconectada e algumas medidas SWITCH:

image.png.9969d76aa4cccf757cc34cf62d45bad7.png

A tabela auxiliar serve para definir as categorias do teu eixo-X e a ordem delas:

image.png.314a7f05bddfbc22559b83bfb95aa311.png

E as medidas SWITCH vão dizer qual medida IMPACTO deve ser considerada para cada categoria do eixo-X:

Por fim, recriamos a medida ACUMULADO que vai pintada de branco para deixar as medidas IMPACTO na altura correta:

Depois disso é só fazer os ajustes estéticos (cor, tamanho de fonte, negrito, etc...) necessários para o teu caso.

Se essa resposta te ajudou, não esquece de marcar como melhor solução 😉

Abs!

@Joao RaulinoCara, ficou exatamente da forma que eu precisava! Muito obrigado!

Apenas aproveitando mais um ajuda, como posso fazer para que os dados das colunas em laranja fiquem acima das barras? Ja tentei de todas as formas, mas elas não aparecem para todas, ou, dependendendo do tamanho da fonte, nem aparecem.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
2 horas atrás, victordardes disse:

@Joao RaulinoCara, ficou exatamente da forma que eu precisava! Muito obrigado!

Apenas aproveitando mais um ajuda, como posso fazer para que os dados das colunas em laranja fiquem acima das barras? Ja tentei de todas as formas, mas elas não aparecem para todas, ou, dependendendo do tamanho da fonte, nem aparecem.

Para deixar assim igual ao da imagem você pode usar o gráfico de colunas empilhadas com linhas. Nesse caso a linha vai ser a soma do laranja (impacto) com o branco (acumulado) e você vai usar um rótulo customizado na linha para mostrar só o valor do laranja (impacto).

Desse jeito vai ficar igualzinho a imagem. Tenta aí que vale a pena o exercício 😉

Abs!

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