Ir para conteúdo
  • 0

Inteligência de tempo anos acumulados


Lucas Montezano
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

14 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

@Lucas Montezano, tente isso

 

Valor Compra acumulado = 
CALCULATE(
    [Total Compra],
    FILTER(
        CALCULATETABLE(
            ALL(fNivel_Contratacao),
            USERELATIONSHIP(dCalendario[Date],fNivel_Contratacao[Data Base])
        ),
        fNivel_Contratacao[Data Base] <= MAX(fNivel_Contratacao[Data Base])
    ),
    USERELATIONSHIP(dCalendario[Date],fNivel_Contratacao[Data Base])
)

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Lucas Montezano bom dia, 

A forma mais simples de fazer isso, é fazendo o acumulado do ano atual/selecionado e depois recalcular esse mesmo acumulado retornando 1 ano.
 

Medida1:

Calculate (  Valor Que Quero Acumular , DATESYTD ( dCalendario [Data] ) )
 

Medida 2:
Calculate ( Medida1 , DATEADD ( dCalendario [Data]  ,  -1 ,  Year))

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Roseane bom dia!

 

Primeiro muito obrigado pela ajuda, na fórmula DATESYTD ele só pega até o acumulado de um ano, quando o ano vira ele zera o valor e começa acumular novamente.

Eu até achei uma aula do Leo que mostra como fazer o acumulado de vários anos, fiz e deu certo só que continuo com 2 problemas:

1° - Fazer a mesma coisa contando só até o ano anterior por exemplo (2010-2021) vs (2010-2020)
2° - Eu estou trabalhando com duas datas, "Data Base" e "ID Data", sendo a primeira a data da venda e a segunda a data do suprimento, nessa medida eu gostaria de utilizar minha "Data Base" que é minha data secundaria(está fora da dCalendario), sei q tem q usar a função "userelationship" mas não consegui.

Vou te mostrar o código que deu certo p acumulado de varios anos:

Conseguiria me dar uma luz por favor?

image.png.7f64b07fdfad058bb4b8ee30a909d304.png

 

Medida Valor compra acumulado =
VAR MaxDiaContexto = MAX(fNivel_Contratacao[Data Base])
RETURN
CALCULATE(
[Volume Compra],
FILTER(
ALL(fNivel_Contratacao),
fNivel_Contratacao[Data Base] <= MaxDiaContexto
)
)
 
//USERELATIONSHIP(dCalendario[ID Data],fNivel_Contratacao[Data Base])
 
 
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 09/11/2021 em 08:46, Lucas Montezano disse:

@Roseane bom dia!

 

Primeiro muito obrigado pela ajuda, na fórmula DATESYTD ele só pega até o acumulado de um ano, quando o ano vira ele zera o valor e começa acumular novamente.

Eu até achei uma aula do Leo que mostra como fazer o acumulado de vários anos, fiz e deu certo só que continuo com 2 problemas:

1° - Fazer a mesma coisa contando só até o ano anterior por exemplo (2010-2021) vs (2010-2020)
2° - Eu estou trabalhando com duas datas, "Data Base" e "ID Data", sendo a primeira a data da venda e a segunda a data do suprimento, nessa medida eu gostaria de utilizar minha "Data Base" que é minha data secundaria(está fora da dCalendario), sei q tem q usar a função "userelationship" mas não consegui.

Vou te mostrar o código que deu certo p acumulado de varios anos:

Conseguiria me dar uma luz por favor?

image.png.7f64b07fdfad058bb4b8ee30a909d304.png

 

Medida Valor compra acumulado =
VAR MaxDiaContexto = MAX(fNivel_Contratacao[Data Base])
RETURN
CALCULATE(
[Volume Compra],
FILTER(
ALL(fNivel_Contratacao),
fNivel_Contratacao[Data Base] <= MaxDiaContexto
)
)
 
//USERELATIONSHIP(dCalendario[ID Data],fNivel_Contratacao[Data Base])
 
 

@Lucas Montezano você quer usar a segunda data com qual finalidade? ela vai como filtro na tela? O cálculo tem que considerar ela em que situação? Qual a regra a ser aplicada para fazer esse acumulado? Quando você fala Soma até a Máxima data, é considerando qual das duas datas?

Se puder detalhar um pouco mais sobre a sua necessidade e as regras, vai ajudar a propor uma solução.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Lucas Montezano, se puder anexar um modelo de dados em pbix que represente seu problema dizendo qual o resultado final pretendido, ajudará bastante. Também fiquei confuso nas duas colunas de data que você passou. Tente explicar melhor, por favor.

Editado por Bruno Abdalla de Souza
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Bruno Abdalla de Souza e @Frank Figueredo obrigado pela disponibilidade, vou explicar melhor aqui:

Eu tenho 2 datas na minha base de dados, "Data Suprimento" (é a data do inicio do suprimento) essa data eu deixo colo relacionamento principal com a minha dCalendario é a data que eu uso para a maioria dos visuais que estou criando no BI e tenho outra data a "Data base" (é a data que se refere ao dia que o produto foi vendido, ou seja, vendi um produto no dia 10/11/2021 (Data Base) que vai ser consumido no dia 25/12/2025 (Data Suprimento)

 

Agora o que eu preciso fazer é o seguinte queria fazer uma comparação Ano vs Ano a depender do filtro de ano que eu filtrar da "Data Base", só lembrando que eu não posso utilizar essa data como relacionamento principal com a dCalendario porque os demais visuais do BI serão pela "Data Suprimento".

Na comparação Ano vs Ano que preciso fazer os valores precisam ser acumulados de tds os anos anteriores, ou seja, se eu base uma base de dados que vai de 2010 até 2021 eu preciso guardar em uma medida os valores de (2010 - 2021) e na outra os valores de (2010-2020)

 

Sei que preciso usar o userelationship mas não estou conseguindo fazer o codigo rodar

essa seria a medida p guardar o ano (2010 - 2021) tbm n sei como fazer p fazer a medida p guardar o ano (2010 - 2020)

Medida Valor compra acumulado =
VAR MaxDiaContexto = MAX(fNivel_Contratacao[Data Base])
RETURN
CALCULATE(
[Volume Compra],
FILTER(
ALL(fNivel_Contratacao),
fNivel_Contratacao[Data Base] <= MaxDiaContexto
)
)

//USERELATIONSHIP(dCalendario[ID Data],fNivel_Contratacao[Data Base])

 

Se puderem me ajudar ficarei extremamente grato, obrigado desde já!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Bruno Abdalla de Souza 
anexei a o pbi e a base em excel.

 

Eu criei as medidas lá que eu quero, deixei o "userelationship" comentado pq quando eu utilizo a função deixa de funcionar no gráfico.

Lembrando que eu não posso utilizar a "data base" como ligação primaria na dCalendario pq os meus demais visuais vao estar relacionados com a  "Data suprimento", somente nesse visual que quero analisar em cima da "data base".

Sobre voltar 1 ano no acumulado fiz "-365" mas sei q nao vai funcionar pra tds os anos, se tiver uma forma tbm de voltar sempre 1 ano sem usar os 365.

Obrigado pela ajuda mais uma vez!!

base_fake.pbix Base problema.xlsx

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