Ir para conteúdo
  • 1

SUMX com "PROCV"


Jcsnake
Ir para solução Solucionado por Joao Barbosa ,

Pergunta

  • Alunos

Olá,

Estou com uma dúvida que provavelmente já foi respondida em algum outro contexto aqui do forum, porém não consegui encontrar a solução para meu problema específico.

Eu tenho duas tabelas, uma que contém o valor do Teto RGPS e suas vigências, outra com a dimensão de datas - Calendário.

Preciso fazer um "PROCV" dos valores de Teto vigentes em cada período (mês/ano) da minha dimensão Calendário (no caso, a partir de maio de 95 pois é onde tem a primeira vigência na tabela teto) e somá-los ao final.

Já havia aprendido a exibir o valor máximo no período com a seguinte medida:
######################################################################################################
VAR datacontexto = MAX('Calendário'[Data])

RETURN

MAXX(
        FILTER(
            'Teto RGPS',
            'Teto RGPS'[Vigencia Inicio]<=datacontexto && (datacontexto<='Teto RGPS'[Vigencia Fim] || 'Teto RGPS'[Vigencia Fim]=BLANK())
        ),        
        'Teto RGPS'[Teto]
    )
######################################################################################################

O problema é que não consigo fazer a soma destes valores ao final.

Tentei de duas formas, mas embora a medida Soma mensal esteja mais de acordo com o que eu quero (considera a partir de maio/95), ainda não soma corretamente.

Seguem minhas medidas:
######################################################################################################
Soma mensal = 
var datainicio = MIN('Teto RGPS'[Vigencia Inicio])
var datafim = MAX('Teto RGPS'[Vigencia Fim])
VAR Periodo = 
CALCULATETABLE(
    VALUES('Calendário'[Período]),
    FILTER(
        'Calendário',
        datainicio<='Calendário'[Data] && ('Calendário'[Data]<=datafim || SELECTEDVALUE('Teto RGPS'[Vigencia Fim])=BLANK())
    )
)
VAR datacontexto = MAX('Calendário'[Data])
VAR conta = 
SUMX(
    Periodo,   
    MAXX(
        FILTER(
            'Teto RGPS',
            'Teto RGPS'[Vigencia Inicio]<=datacontexto && (datacontexto<='Teto RGPS'[Vigencia Fim] || 'Teto RGPS'[Vigencia Fim]=BLANK())
        ),        
        'Teto RGPS'[Teto]
    )
)

return
conta
######################################################################################################
Soma mensal 2 = 
VAR datacontexto = MAX('Calendário'[Data])
VAR conta = 
SUMX(
    VALUES('Calendário'[Período]),   
    MAXX(
        FILTER(
            'Teto RGPS',
            'Teto RGPS'[Vigencia Inicio]<=datacontexto && (datacontexto<='Teto RGPS'[Vigencia Fim] || 'Teto RGPS'[Vigencia Fim]=BLANK())
        ),        
        'Teto RGPS'[Teto]
    )
)

return
conta
######################################################################################################


Obs. 1: As tabelas não estão relacionadas, pois quando faço isso preciso colocar um REMOVEFILTERS nos argumentos.
Obs. 2: O visual da foto é uma matriz em que as colunas são os períodos da tabela Calendário.


Alguém pode me dizer como eu consigo somar corretamente estes valores?

 

Segue meu modelo.

SUMX com PROCV.pbix

  • Like 1
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
14 horas atrás, Jcsnake disse:

Olá,

Estou com uma dúvida que provavelmente já foi respondida em algum outro contexto aqui do forum, porém não consegui encontrar a solução para meu problema específico.

Eu tenho duas tabelas, uma que contém o valor do Teto RGPS e suas vigências, outra com a dimensão de datas - Calendário.

Preciso fazer um "PROCV" dos valores de Teto vigentes em cada período (mês/ano) da minha dimensão Calendário (no caso, a partir de maio de 95 pois é onde tem a primeira vigência na tabela teto) e somá-los ao final.

Já havia aprendido a exibir o valor máximo no período com a seguinte medida:
######################################################################################################
VAR datacontexto = MAX('Calendário'[Data])

RETURN

MAXX(
        FILTER(
            'Teto RGPS',
            'Teto RGPS'[Vigencia Inicio]<=datacontexto && (datacontexto<='Teto RGPS'[Vigencia Fim] || 'Teto RGPS'[Vigencia Fim]=BLANK())
        ),        
        'Teto RGPS'[Teto]
    )
######################################################################################################

O problema é que não consigo fazer a soma destes valores ao final.

Tentei de duas formas, mas embora a medida Soma mensal esteja mais de acordo com o que eu quero (considera a partir de maio/95), ainda não soma corretamente.

Seguem minhas medidas:
######################################################################################################
Soma mensal = 
var datainicio = MIN('Teto RGPS'[Vigencia Inicio])
var datafim = MAX('Teto RGPS'[Vigencia Fim])
VAR Periodo = 
CALCULATETABLE(
    VALUES('Calendário'[Período]),
    FILTER(
        'Calendário',
        datainicio<='Calendário'[Data] && ('Calendário'[Data]<=datafim || SELECTEDVALUE('Teto RGPS'[Vigencia Fim])=BLANK())
    )
)
VAR datacontexto = MAX('Calendário'[Data])
VAR conta = 
SUMX(
    Periodo,   
    MAXX(
        FILTER(
            'Teto RGPS',
            'Teto RGPS'[Vigencia Inicio]<=datacontexto && (datacontexto<='Teto RGPS'[Vigencia Fim] || 'Teto RGPS'[Vigencia Fim]=BLANK())
        ),        
        'Teto RGPS'[Teto]
    )
)

return
conta
######################################################################################################
Soma mensal 2 = 
VAR datacontexto = MAX('Calendário'[Data])
VAR conta = 
SUMX(
    VALUES('Calendário'[Período]),   
    MAXX(
        FILTER(
            'Teto RGPS',
            'Teto RGPS'[Vigencia Inicio]<=datacontexto && (datacontexto<='Teto RGPS'[Vigencia Fim] || 'Teto RGPS'[Vigencia Fim]=BLANK())
        ),        
        'Teto RGPS'[Teto]
    )
)

return
conta
######################################################################################################


Obs. 1: As tabelas não estão relacionadas, pois quando faço isso preciso colocar um REMOVEFILTERS nos argumentos.
Obs. 2: O visual da foto é uma matriz em que as colunas são os períodos da tabela Calendário.


Alguém pode me dizer como eu consigo somar corretamente estes valores?

 

Segue meu modelo.

SUMX com PROCV.pbix 169 kB · 2 downloads

Bom Dia @Jcsnake 

Estou anexando uma solução que pode te servir , veja se acha que lhe ajuda.
 

Procv Resolucao.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
40 minutos atrás, Joao Barbosa disse:

Bom Dia @Jcsnake 

Estou anexando uma solução que pode te servir , veja se acha que lhe ajuda.
 

Procv Resolucao.pbix 169 kB · 1 download

Olá, colega João.

Sua medida resolveu o problema.

Era isso mesmo, precisava só realizar a soma dos valores vigentes tanto de todos os anos da tabela quanto de cada ano.

Está somando corretamente.

Obrigado.

  • Like 1
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...