Ir para conteúdo
  • 0

Correção de medida de 6 meses anterior ao contrato


Lucas Denker
Ir para solução Solucionado por Erick Oliveira ,

Pergunta

  • Alunos

Boa tarde a todos! Preciso de uma ajuda para consertar uma medida que criei para ela funcionar corretamente como deve.
Vou dar o contexto inicial que eu tinha, o que eu queria calcular com minha medida e o problema que esta medida esta apresentando.
Em anexo vocês irão encontrar um arquivo xlsx que contém 3 bases: dContratos, dCliente e fVolume.

Contexto.
dContratos - Base com informações dos contratos realizado por cada cliente dentro da empresa, com valores de data de inicio de data de fim de contrato.
dCliente - Base com informações dos clientes da empresa dos quais podem ter contratos ou não, aqui é uma base de clientes geral da empresa.
fVolume - Base com informações de compra em volume de cada cliente e a data em que foi realizada a compra.

Calculo da Medida
6 
Meses antes do contrato.
Esta medida deverá olhar meus clientes linha a linha e calcular a média mensal deles 6 meses antes do contrato ter iniciado.
Exemplo:
Se o meu cliente começou o contrato em jan/23 a média deve ser a soma do volume dos meses de jul/22 até dez/22 divido pela quantidade de meses disponíveis (com dados) neste período de 6 meses antes da data do contrato.
Este valor precisa estar somente na data de contrato jan/23

Problema da medida criada abaixo
A medida quando eu filtro um ano está filtrando este ano na tabela criada pelo WINDOW fazendo com que a medida não calcule para o período total de 6 meses antes do contrato ter iniciado. Exemplo: Se eu filtro o ano de 2024 e um cliente começou seu contrato em jan/24 esta medida ao invés de me calcular os 6 meses antes desta data ou seja desde jul/22 até dez/22 ele está apenas filtrando a tabela criada pelo WINDOW o ano de 2024 e tenta fazer 6 meses pra trás neste caso ele não consegue e retorna 0, porém quero que ele retorne o valor completo do contrato 6 meses atrás.

O que eu quero é que quando eu filtrar o ano de 2024  calcule corretamente para todos os clientes que possuem contrato em 2024 essa média mensal do período de 6 meses anterior a data de inicio do contrato e não somente ao período de 2024 desde a data de inicio de contrato.

A medida que criei está disponibilizada abaixo e não sei o que posso fazer para conserta-la, também disponibilizo em anexo a base de dados bem como o arquivo pbix.
Agradeço antecipadamente pela ajuda neste tema complexo.

Medida:

SUMX (

    dCliente,

    VAR _StartofContract = CALCULATE ( MAX ( dContratos[INICIO CONTRATO] ) )

    VAR _Months =

        CALCULATETABLE (

            WINDOW  (

                -6, REL,

                -1, REL,

                ALL ( dCalendario[Inicio do Mês] ),

                ORDERBY ( [Inicio do Mês], ASC )

            ),

            KEEPFILTERS ( dCalendario[Data] = _StartofContract )

        )

    VAR _Volume =

        CALCULATE(

            [Volume (#)],

            _Months

        )

    RETURN

       DIVIDE( _Volume, 6)

)

 

base_duvida_forum.xlsx pbix_forum_duvida.pbix

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Boa noite, @Lucas Denker;

Precisa remover o filtro das colunas que estão no visual:

6 Months = 
SUMX (
    dCliente,
    VAR _StartofContract = CALCULATE ( MAX ( dContratos[INICIO CONTRATO] ) )
    VAR _Months = 
        CALCULATETABLE (
            WINDOW  (
                -6, REL,
                -1, REL,
                ALL ( dCalendario[Inicio do Mês] ),
                ORDERBY ( [Inicio do Mês], ASC )
            ),
            KEEPFILTERS ( dCalendario[Data] = _StartofContract ),
            REMOVEFILTERS( dCalendario[AnoMês], dCalendario[Mês/Ano] )
        )
    VAR _Volume = 
        CALCULATE(
            [Volume (#)],
            _Months
        )
    RETURN
       DIVIDE( _Volume, 6)
)

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

O problema é o filtro externo do ano que está filtrando a tabela criada pela WINDOW, com esse removefilters eu removo também a influência desse filtro de ano externo?

por que eu havia tentado dessa forma porém não deu o resultado que eu esperava

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