Ir para conteúdo
  • 0

Crescimento Acumulativo MRR


Murilo Lunardon
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

  • Alunos

Fala turma, como voces estão?

Estou com uma pequena dificuldade em algumas regrinhas aqui.
Estou usando uma base de dados onde eu tenho o historico de aumento de fee de todos os meus cliente, preciso fazer uma medida em dax onde eu preciso acumular todos esses valores.
image.png.54ae66b5bf7674ed853a40db66d28874.png

Nesse exemplo o Cliente entrou pagando 3.300 no decorrer do ano o valor dele aumentou e começou a pagar 4500, mais note que no lado tem a medida acumulativa que soma os dois valores, eu quero apenas acumular a diferença desses valores, no caso começa com 3.300 + 1200 que seria a diferença e no final seria 4500 o acumulativo.

Obrigado time!!

Link para o comentário
Compartilhar em outros sites

22 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Veja se é isso

Valor final = 
VAR vMesContexto = MAX(dCalendario[Year Month Number])
VAR vUltimoMescomValor = 
CALCULATE(
    MAX(dCalendario[Year Month Number]),
    FILTER(
        ALL(dCalendario[Year Month Number], dCalendario[Year Month Name]),
        [Soma valor] > 0
    )
)
VAR vMeses = 
    FILTER(
        CALCULATETABLE(
            SUMMARIZE(
                fDados,
                dCalendario[Year Month Name],
                dCalendario[Year Month Number],
                fDados[Cliente]
            ),
            ALL(dCalendario),
            dCalendario[Year Month Number] <= vMesContexto
        ),
        [Soma valor] > 
        0
    )
VAR vValor = 
    COALESCE(
        MAXX(
            TOPN(
                1,
                vMeses,
                dCalendario[Year Month Number],
                DESC
            ),
            [Soma valor]
        ),
        0
    )
VAR vResultado = 
    SWITCH(
        TRUE(),
        ISINSCOPE(fDados[Cliente]), vValor,        
        ISINSCOPE(dCalendario[Year Month Name]), 
        IF(
            vMesContexto <= vUltimoMescomValor,
            vValor
        ),
        [Soma valor]
    )
RETURN
vResultado

 

20240618_CrescimentoAcumulativoMRR.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
9 horas atrás, Bruno Abdalla de Souza disse:

Baseado neste exemplo @Murilo Lunardon, qual seria o resultado final esperado? Com base no resultado vou tentar entender melhor o que você deseja.

No caso seria o Acumulativo geral, mais se eu filtrasse um cliente em especifico ele pegaria o crescimento dele em determinado meses.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 minuto atrás, Bruno Abdalla de Souza disse:

Ok, mas baseado no arquivo Excel que vc mandou,  qual seria o resultado final esperado? Mostra para mim,  por favor. 

Segue um exemplo aqui.
A medida do MRR_Teste é a medida de soma, no caso vai acumulando todos os valores, mais na medida ao lado "Fee", eu precisaria que a MRR_Teste ficasse igual a do fee, não somasse uma com a outro fosse apenas o valor inteiro ali, então ele iria acumular até Jan/2024 o valor de 4500 e depois ele pegaria o 4000
image.png.9d26094cae6807dcd7d613ff423de155.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
27 minutos atrás, Bruno Abdalla de Souza disse:

Ok, mas baseado no arquivo Excel que vc mandou,  qual seria o resultado final esperado? Mostra para mim,  por favor. 

Consegui chegar no valor esperado, mas o total está incorreto, está pegando sempre o maior valor. 
em vez de usar o SUM, usei o MAX.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Fiz algo assim:
 

Valor final = 
VAR vMesContexto = MAX(dCalendario[Year Month Number])
VAR vUltimoMescomValor = 
CALCULATE(
    MAX(dCalendario[Year Month Number]),
    FILTER(
        ALL(dCalendario[Year Month Number], dCalendario[Year Month Name]),
        [Soma valor] > 0
    )
)
VAR vMeses = 
    FILTER(
        CALCULATETABLE(
            SUMMARIZE(
                dCalendario,
                dCalendario[Year Month Name],
                dCalendario[Year Month Number]
            ),
            ALL(dCalendario),
            dCalendario[Year Month Number] <= vMesContexto
        ),
        [Soma valor] > 0
    )
VAR vResultado = 
    IF(
        ISINSCOPE(dCalendario[Year Month Name]),
        IF(
            vMesContexto <= vUltimoMescomValor,
            COALESCE(
                MAXX(
                    TOPN(
                        1,
                        vMeses,
                        dCalendario[Year Month Number],
                        DESC
                    ),
                    [Soma valor]
                ),
                0
            )
        ),
        [Soma valor]
    )
RETURN
vResultado

 

20240618_CrescimentoAcumulativoMRR.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, Bruno Abdalla de Souza disse:

Fiz algo assim:
 

Valor final = 
VAR vMesContexto = MAX(dCalendario[Year Month Number])
VAR vUltimoMescomValor = 
CALCULATE(
    MAX(dCalendario[Year Month Number]),
    FILTER(
        ALL(dCalendario[Year Month Number], dCalendario[Year Month Name]),
        [Soma valor] > 0
    )
)
VAR vMeses = 
    FILTER(
        CALCULATETABLE(
            SUMMARIZE(
                dCalendario,
                dCalendario[Year Month Name],
                dCalendario[Year Month Number]
            ),
            ALL(dCalendario),
            dCalendario[Year Month Number] <= vMesContexto
        ),
        [Soma valor] > 0
    )
VAR vResultado = 
    IF(
        ISINSCOPE(dCalendario[Year Month Name]),
        IF(
            vMesContexto <= vUltimoMescomValor,
            COALESCE(
                MAXX(
                    TOPN(
                        1,
                        vMeses,
                        dCalendario[Year Month Number],
                        DESC
                    ),
                    [Soma valor]
                ),
                0
            )
        ),
        [Soma valor]
    )
RETURN
vResultado

Fiz uns teste aqui é deu o valor total da planilha, no caso teria de dar 34550, poque vou sempre pegar o valor maximo do meu cliente no contexto.

20240618_CrescimentoAcumulativoMRR.pbix 61.29 kB · 1 download

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, Bruno Abdalla de Souza disse:

Ok, sempre . pegar o último valor. 

Mas no total, qual o resultado esperado?

Nesse exemplo que você mandou no cliente 4, ele está com o total de 7,000 o correto para ele seria sempre o total da ultima data no caso 6550, e no final de tudo iria das 34550 no acumulativo.

image.png.917ad0151729185b55ce4910a25792e2.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
32 minutos atrás, Bruno Abdalla de Souza disse:

Veja se é isso

Valor final = 
VAR vMesContexto = MAX(dCalendario[Year Month Number])
VAR vUltimoMescomValor = 
CALCULATE(
    MAX(dCalendario[Year Month Number]),
    FILTER(
        ALL(dCalendario[Year Month Number], dCalendario[Year Month Name]),
        [Soma valor] > 0
    )
)
VAR vMeses = 
    FILTER(
        CALCULATETABLE(
            SUMMARIZE(
                fDados,
                dCalendario[Year Month Name],
                dCalendario[Year Month Number],
                fDados[Cliente]
            ),
            ALL(dCalendario),
            dCalendario[Year Month Number] <= vMesContexto
        ),
        [Soma valor] > 
        0
    )
VAR vValor = 
    COALESCE(
        MAXX(
            TOPN(
                1,
                vMeses,
                dCalendario[Year Month Number],
                DESC
            ),
            [Soma valor]
        ),
        0
    )
VAR vResultado = 
    SWITCH(
        TRUE(),
        ISINSCOPE(fDados[Cliente]), vValor,        
        ISINSCOPE(dCalendario[Year Month Name]), 
        IF(
            vMesContexto <= vUltimoMescomValor,
            vValor
        ),
        [Soma valor]
    )
RETURN
vResultado

 

20240618_CrescimentoAcumulativoMRR.pbix 60.54 kB · 1 download

Deu boa, mais agora ele nao coloca para os demais meses image.png.e7b3f50d8f2eb28660404809fe8c8346.png

image.png.4387cf826c11ea7cdb9183aa7c53a21e.png

Editado por Murilo Lunardon
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
20 minutos atrás, Bruno Abdalla de Souza disse:

Então anexa o arquivo com problema para eu avaliar. 

Não posso compartilhar o pbi porque é dado sigiloso, mais vou tentar seguir daqui, obrigado pelo seu tempo dedicado a esses post.

Editado por Murilo Lunardon
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...