Ir para conteúdo
  • 0

Acumulado com rank


Claudia Passos

Pergunta

  • Alunos

Bom dia a todos.
Estou tentando fazer o pareto de acordo com o que o Leo falou mas não estou conseguindo.
Tenho uma tabela com valor de vendas e qutde vendida, uma tabela de produtos e a calendario.
As medidas estão abaixo.
No visual coloco o produto, vl venda, ranking e quando vou incluir o venda acum, fica rodando um tempão e depois fala que Não foi possivel carregar o dados, não há memoria suficiente.
Alguém pode me ajudar?
 

.Rank Vendas = RANKX(ALLSELECTED(dProdutos); [.Criterio]; ;DESC)

 

.Criterio =
var vcod = SELECTEDVALUE(fPareto[CODPROD])
return

[.Vl Vendas]*100000 + [.Qtde Vendas]*10000 + vcod

 

.Vendas Acum =
var vRankAtual = [.Rank Vendas]
var vAcum =
  CALCULATE(
    [.Vl Vendas];
    FILTER(ALLSELECTED(dProdutos);
    [.Rank Vendas] <= vRankAtual))
return
vAcum
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
14 minutos atrás, Claudia Passos disse:

Bom dia a todos.
Estou tentando fazer o pareto de acordo com o que o Leo falou mas não estou conseguindo.
Tenho uma tabela com valor de vendas e qutde vendida, uma tabela de produtos e a calendario.
As medidas estão abaixo.
No visual coloco o produto, vl venda, ranking e quando vou incluir o venda acum, fica rodando um tempão e depois fala que Não foi possivel carregar o dados, não há memoria suficiente.
Alguém pode me ajudar?
 

.Rank Vendas = RANKX(ALLSELECTED(dProdutos); [.Criterio]; ;DESC)

 

.Criterio =
var vcod = SELECTEDVALUE(fPareto[CODPROD])
return

[.Vl Vendas]*100000 + [.Qtde Vendas]*10000 + vcod

 

.Vendas Acum =
var vRankAtual = [.Rank Vendas]
var vAcum =
  CALCULATE(
    [.Vl Vendas];
    FILTER(ALLSELECTED(dProdutos);
    [.Rank Vendas] <= vRankAtual))
return
vAcum

Estou anexando o arquivo para ver se ajuda.

 

teste-pareto.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Boa noite @Claudia Passos, tudo bem?

Percebi que sua dúvida está há muitos dias em aberto.

Então resolvi trazer uma sugestão de solução para você....

As medidas:

Pareto R1 =

VAR faturamentototal =

    CALCULATE(

        [.Vl Vendas],

         ALLSELECTED(dProdutos)

         )

 

VAR faturamentoAtual = [.Vl Vendas]

 

VAR tabela =

    ADDCOLUMNS(

    SUMMARIZE(

         ALLSELECTED(fPareto),

          dProdutos[DESCRICAO]),

          "Vendas", [.Vl Vendas])


 

VAR faturamentoacumulado =

    IF (

        [.Vl Vendas] > 0,

        SUMX(

            FILTER (tabela,

             [Vendas] >= faturamentoAtual ), [Vendas] )

    )


 

RETURN

    faturamentoacumulado

 

% Pareto R1 =

VAR faturamentototal =

    CALCULATE(

        [.Vl Vendas],

         ALLSELECTED(dProdutos)

         )

 

VAR faturamentoAtual = [.Vl Vendas]

 

VAR tabela =

    ADDCOLUMNS(

    SUMMARIZE(

         ALLSELECTED(fPareto),

          dProdutos[DESCRICAO]),

          "Vendas", [.Vl Vendas])


 

VAR faturamentoacumulado =

    IF (

        [.Vl Vendas] > 0,

        SUMX(

            FILTER (tabela,

             [Vendas] >= faturamentoAtual ), [Vendas] )

    )


 

RETURN

    DIVIDE(faturamentoacumulado, faturamentototal)

 

image.png.7880315e6a08cb1870224a0b9d639101.png

Segue PBIX em anexo. Espero que tenha ajudado.

Peço a gentileza de marcar a minha resposta como a solução.

Sucesso aí....

teste-pareto.pbix

  • Like 2
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...