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
6Meses 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] ) )
Pergunta
Lucas Denker
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
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora