Ir para conteúdo
  • 0

Soma acumulada não funciona


kleberfernandes
Ir para solução Solucionado por Lucas Denker ,

Pergunta

  • Alunos

Pessoal, boa tarde!

A tabela abaixo possui uma linha chamada Saldo Acumulado, que nada mais é do que a soma das linhas Comissão 50% Parcela Mais Comissão já paga.

Para fazer a soma acumulada eu criei a seguinte medida padrão de soma acumulada entre os períodos:

Saldo acumulado =
CALCULATE(
    [Comissão 50% Parcela Mais] + [.Comissão Paga],
    FILTER(
        ALLSELECTED(Calendario),
        Calendario[Ano/Mes n] <= MAX(Calendario[Ano/Mes n])
    )
)

O problema é que existe uma condicional que se a linha Base Comissão for menor que 0, as comissões da Parcela Mais e WeFin ficam zeradas.

Eu já percebi que quando removo essa condicional a linha de saldo acumulado funciona, porém eu preciso que essa linha funcione mesmo com as comissões zeradas.

Pra vocês terem uma ideia, o valor de Agosto deveria ser 31.259,95, pois ele somaria o saldo de jul/24 mais 0.

Não sei mais o que fazer. Se puderem me ajudar agradeço!

 

image.png.a0a9b7ebbc7493def50a546e5bc903d5.png

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Refiz sua medida Mais 50% e um Acumulado V3. Agora aplicando a medida de acumulado o resultado é o seguinte:
 

Saldo Acumulado V3 =
CALCULATE(
    [Comissão 50% Parcela Mais v2],
    FILTER(
        ALLSELECTED(Calendario[Date]),
        Calendario[Date] <= MAX(Calendario[Date])
    )
)
Comissão 50% Parcela Mais v2 =
SUMX(
    VALUES(Calendario[Ano/Mes n]),
    VAR vBaseComissao = CALCULATE( MAX([Base Comissão], 0) )
    RETURN
    CALCULATE(
        vBaseComissao * 0.5,
        FILTER(Calendario, Calendario[Ano/Mes n] >= "202404"),
        USERELATIONSHIP('Cálculo Comissão [sobre liquidações]'[codigoProduto], Produto[codigoProduto])
    ) + 0
)

image.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
19 minutos atrás, kleberfernandes disse:

Nunca usei essa função. Como eu usaria ela nesse caso?

Lembrando que ORDERBY que define a ordenação do acumulado

 

CALCULATE(
        [SuaMedida],
        WINDOW(
              1, ABS,
              0, REL,
              ALL(SuaTabela[Coluna]),
             ORDERBY(SuaTabela[Coluna],ASC
        )
)
 

Editado por Edson Igari
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Edson, obrigado, mas do jeito que você fez ele não acumulou os valores. Eu fiz desse jeito e ele até acumulou, mas a partir de ago/24 continua tudo zerado. 

image.png.29c87f697ef556bb65b1567eaca64156.png

 

Saldo Acumulado v2 =
 
VAR __saldoAcumulado =
    WINDOW(
        10, ABS,
        0, REL,
        ALLSELECTED(Calendario[Ano/Mes],
        Calendario[Ano/Mes n]
    ),
    ORDERBY(Calendario[Ano/Mes n], ASC)
    )
 
VAR __Resultado =
CALCULATE(
    [Comissão 50% Parcela Mais] + [.Comissão Paga],
    __saldoAcumulado
    )
 
RETURN __Resultado
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Eu tentaria desta forma;
 

Saldo Acumulado = 
VAR _UltimaDataContexto = MAX(Calendario[Ano/Mês n])
RETURN
CALCULATE(
[Medida],
FILTER(
ALLSELECTED(Calendario[Ano/Mês n]),
Calendario[Ano/Mês n] <= _UltimaDataContexto
)

Obs.: Se existe alguma coluna que está sendo usado para ordenar este Ano/Mes n precisa estar no ALLSELECTED também

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
16 horas atrás, kleberfernandes disse:

Edson, obrigado, mas do jeito que você fez ele não acumulou os valores. Eu fiz desse jeito e ele até acumulou, mas a partir de ago/24 continua tudo zerado. 

image.png.29c87f697ef556bb65b1567eaca64156.png

 

Saldo Acumulado v2 =
 
VAR __saldoAcumulado =
    WINDOW(
        10, ABS,
        0, REL,
        ALLSELECTED(Calendario[Ano/Mes],
        Calendario[Ano/Mes n]
    ),
    ORDERBY(Calendario[Ano/Mes n], ASC)
    )
 
VAR __Resultado =
CALCULATE(
    [Comissão 50% Parcela Mais] + [.Comissão Paga],
    __saldoAcumulado
    )
 
RETURN __Resultado

Isso provavelmente se deve por que ele já calculou para os 10 meses absolutos. Quando você coloca o ABS ali ele vai pegar sempre a partir da primeira data dessa sua tabela e vai calcular exatamente para os 10 meses a partir dela. O que provavelmente termina em ago/24 por isso setembro está vazio.

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