Ir para conteúdo
  • 0

Acumulado com rank


Claudia Passos

Pergunta

  • Membros

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

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

  • Gostei 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...