Bom dia a todos! Preciso de uma ajuda com uma medida DAX. Irei passar o contexto das minhas tabelas, o meu problema e qual foi minha tentativa de solução.
Contexto.:
Possuo nesse arquivo de dados fictício 3 bases:
fMetas:
Arquivo que possui as metas para cada cliente a partir do momento que ele iniciou o contrato.
Ou seja se o meu cliente possui valores de meta em mai/2024 e anteriormente esta com valores zerados significa que ele começou o contrato em mai/2024.
fVolume:
Arquivo que possui o volume comprado por cada cliente
dCliente:
Arquivo que possui informações dos clientes.
Problema:
Preciso criar uma medida que faça o acumulado do volume a partir da data de contrato a cada trimestre e que esse calculo se reinicie a cada trimestre.
Exemplo:
Meu cliente tem contrato em mai/2024 o trimestre dele seria em jul/2024 ou seja minha medida precisa acumular até esse trimestre, a partir do mês de ago/2024 se reiniciaria o calculo do acumulado até o próximo trimestre que seria em out/2024.
Meu problema é que eu consegui criar a Medida que calcula isso, porém no meu relatório atual ela me retorna um erro de exceder recursos quando a coloco em uma tabela com os clientes. Gostaria de saber se existe outra forma de realizar esta medida de forma que não seja tão custosa para o Power BI calcular.
Abaixo está uma descrição da medida, uma imagem em Excel para tentar exemplificar melhor e a medida que criei para calcular isso que está me resultando no problema de recursos no meu relatório original.
Descrição:
Esta medida calcula o volume acumulado trimestralmente a partir da data de início do contrato.
O acumulado é reiniciado a cada novo trimestre, utilizando a data do início do contrato como referência inicial.
Nos meses dentro de um trimestre, o volume é somado até o fechamento desse trimestre.
Quando um novo trimestre começa, o cálculo reinicia, e o acumulado passa a considerar apenas os volumes do novo período trimestral.
Imagem para ilustrar o que a medida deve fazer (Supondo que neste caso mai/2024 é o inicio do contrato):
-- vMesesAteProximoTrimestre: Calcula quantos meses faltam para o próximo trimestre.
-- Exemplo: Se vDateDiff é 3, vMesesAteProximoTrimestre será 0 (estamos no início de um novo trimestre).
-- Exemplo 2: Se vDateDiff é 5, vMesesAteProximoTrimestre será 1 (faltando 1 mês para o próximo trimestre).
VARvDataInicioAcumulado =
IF(
vDateDiff < 3,
vDataInicioContrato, -- Mantém a data de início até completar o primeiro trimestre
EDATE(vDataInicioContrato, INT(vDateDiff / 3) * 3) -- Atualiza a data de início a cada trimestre
)
-- vDataInicioAcumulado: Define o início do período de cálculo do volume acumulado.
-- Exemplo 1: Se estamos em Jun/2024 (dentro dos primeiros 3 meses), vDataInicioAcumulado será 01/05/2024 (data de início do contrato).
-- Exemplo 2: Se estamos em Ago/2024, o primeiro trimestre foi fechado em Jul/2024, então vDataInicioAcumulado será 01/07/2024 (início do trimestre atual).
VARvDataFimAcumulado = vDataContexto
-- vDataFimAcumulado: Define o fim do período de cálculo do volume acumulado como o mês atual.
-- Exemplo: Se estamos em Ago/2024, vDataFimAcumulado será 31/08/2024.
VARvAcumulado =
CALCULATE(
[Volume],
FILTER(
ALL(dCalendario),
dCalendario[Data] >= vDataInicioAcumulado
&& dCalendario[Data] <= vDataFimAcumulado
&& dCalendario[Data] >= vDataInicioContrato
)
)
-- vAcumulado: Calcula o volume acumulado dentro do período definido entre vDataInicioAcumulado e vDataFimAcumulado.
-- Exemplo: Se vDataInicioAcumulado é 01/05/2024 e vDataFimAcumulado é 31/08/2024, o acumulado será o volume total de Mai a Ago/2024.
VARvResultado =
IF(
vDataContexto >= vDataInicioContrato,
vAcumulado,
0
)
-- Verifica se o mês atual é após o início do contrato. Se for, retorna o volume acumulado, caso contrário, retorna 0.
RETURN
vResultado
/* Descrição: Esta medida calcula o volume acumulado trimestralmente a partir da data de início do contrato.
O acumulado é reiniciado a cada novo trimestre, utilizando a data do início do contrato como referência inicial.
Nos meses dentro de um trimestre, o volume é somado até o fechamento desse trimestre.
Quando um novo trimestre começa, o cálculo reinicia, e o acumulado passa a considerar apenas os volumes do novo período trimestral.
Pergunta
Lucas Denker
Bom dia a todos! Preciso de uma ajuda com uma medida DAX. Irei passar o contexto das minhas tabelas, o meu problema e qual foi minha tentativa de solução.
Contexto.:
Possuo nesse arquivo de dados fictício 3 bases:
fMetas:
Arquivo que possui as metas para cada cliente a partir do momento que ele iniciou o contrato.
Ou seja se o meu cliente possui valores de meta em mai/2024 e anteriormente esta com valores zerados significa que ele começou o contrato em mai/2024.
fVolume:
Arquivo que possui o volume comprado por cada cliente
dCliente:
Arquivo que possui informações dos clientes.
Problema:
Preciso criar uma medida que faça o acumulado do volume a partir da data de contrato a cada trimestre e que esse calculo se reinicie a cada trimestre.
Exemplo:
Meu cliente tem contrato em mai/2024 o trimestre dele seria em jul/2024 ou seja minha medida precisa acumular até esse trimestre, a partir do mês de ago/2024 se reiniciaria o calculo do acumulado até o próximo trimestre que seria em out/2024.
Meu problema é que eu consegui criar a Medida que calcula isso, porém no meu relatório atual ela me retorna um erro de exceder recursos quando a coloco em uma tabela com os clientes. Gostaria de saber se existe outra forma de realizar esta medida de forma que não seja tão custosa para o Power BI calcular.
Abaixo está uma descrição da medida, uma imagem em Excel para tentar exemplificar melhor e a medida que criei para calcular isso que está me resultando no problema de recursos no meu relatório original.
Descrição:
Esta medida calcula o volume acumulado trimestralmente a partir da data de início do contrato.
O acumulado é reiniciado a cada novo trimestre, utilizando a data do início do contrato como referência inicial.
Nos meses dentro de um trimestre, o volume é somado até o fechamento desse trimestre.
Quando um novo trimestre começa, o cálculo reinicia, e o acumulado passa a considerar apenas os volumes do novo período trimestral.
Imagem para ilustrar o que a medida deve fazer (Supondo que neste caso mai/2024 é o inicio do contrato):
Medida:
powerbi_forum_volumetrimestral.pbix base_forum_volumetrimestral.xlsx
0 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