Ir para conteúdo
  • 0

Calculando o IR (imposto de Renda)


Ricardo Cintra
Ir para solução Solucionado por Michele ,

Pergunta

  • Alunos

Olá Pessoal, estou com uma dificuldade desde de ontem e estou precisando de ajuda, já fundi os neurônios e não consegui evoluir, se alguém souber e puder me ajudar eu agradeço muito.

Tenho uma tabela de IR com as alíquotas e vigências, preciso trazer a alíquota de acordo com a faixa de salários, mês e ano.

Quando coloco uma matriz e em colunas coloco as faixas ele faz o enquadramento correto, conforme imagem abaixo.

Se eu retiro da coluna as faixas ele traz o maior percentual 27,5%, imagem abaixo, (aqui é porque na medida de alíquota estou utilizando a função MAX), já tentei diversas outras medidas (SUM, SELECTEDVALUE, etc.) mas sem sucesso.

Segue PBIX de exemplo

Muito obrigado.

Imagem1.png

Imagem2.png

Exemplo.pbix

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução

Olá @Ricardo Cintra!

Acho que consegui fazer o que você precisa, só espero que seja isso mesmo, porque já quebrei um monte a cabeça aqui 😅.

Criando uma variável para cada Faixa consegui fazer a comparação com a outra medida, pelo teste que fiz aqui deu certo, tenta aí pra gente ver 🙂

Obs.: já fiz a medida com a intenção de considerar o Mês e Ano atuais do filtro em relação à vigência, mas recomendo modificar ali o período e ver se vai de fato carregar certinho.

% IR (teste) =

VAR vFaixa2750 =

CALCULATE(

MIN(IR[Início Faixa]),

IR[Alíquota] = 0.275,

FILTER(

IR,

IR[Início Vigência] <= MAX('dCalendário'[Date]) &&

IR[Fim Vigência] >= MAX('dCalendário'[Date])

)

)

 

VAR vFaixa2250 =

CALCULATE(

MIN(IR[Início Faixa]),

IR[Alíquota] = 0.225,

FILTER(

IR,

IR[Início Vigência] <= MAX('dCalendário'[Date]) &&

IR[Fim Vigência] >= MAX('dCalendário'[Date])

)

)

 

VAR vFaixa1500 =

CALCULATE(

MIN(IR[Início Faixa]),

IR[Alíquota] = 0.15,

FILTER(

IR,

IR[Início Vigência] <= MAX('dCalendário'[Date]) &&

IR[Fim Vigência] >= MAX('dCalendário'[Date])

)

)

 

VAR vFaixa0750 =

CALCULATE(

MIN(IR[Início Faixa]),

IR[Alíquota] = 0.075,

FILTER(

IR,

IR[Início Vigência] <= MAX('dCalendário'[Date]) &&

IR[Fim Vigência] >= MAX('dCalendário'[Date])

)

)


 

VAR vFaixa000 =

CALCULATE(

MIN(IR[Início Faixa]),

IR[Alíquota] = 0.00,

FILTER(

IR,

IR[Início Vigência] <= MAX('dCalendário'[Date]) &&

IR[Fim Vigência] >= MAX('dCalendário'[Date])

)

)

VAR vFimFaixa = MAX(IR[Fim Faixa])

VAR vMenorDataAnoSelecionado =

DATE(SELECTEDVALUE('dCalendário'[Ano]), 1,1)

VAR vMaiorDataAnoSelecionado =

DATE(SELECTEDVALUE('dCalendário'[Ano]), 12,31)


 

RETURN

SWITCH(

TRUE(),

[Base IRRF] >= vFaixa2750, "27,50%",

[Base IRRF] >= vFaixa2250, "22,50%",

[Base IRRF] >= vFaixa1500, "15,00%",

[Base IRRF] >= vFaixa0750, "7,50%",

[Base IRRF] >= vFaixa000, "0,00%",

""

)

 

image.png.25e0b1330d48797d73747b682b9f4481.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Ricardo Cintra,

Pelo que pude analisar, você precisaria que a sua "Base IRRF" fosse uma coluna, com o salário/renda daquele contrato/pessoa já somado/calculado, pois aí você consegue captar esse contexto com SELECTDVALUE e fazer as comparações dentro da sua medida de % IR.

Sendo "Base IRRF" também uma medida não consegui pensar numa forma de obter o valor do % IR.

Você acha que seria possível montar uma tabela de Folha com o salário/renda já agrupado por Pessoa x Mês/período?

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá Michele, obrigado pela resposta.

Pensei nisso e estava tentando fazer por medida, pois a base de dados da folha é muito grande e teria que carregar 3 delas (1 completa, 1 com base de IR e outra com base de INSS) a completa a partir de 01/2019 tem 29 milhões de linhas, a agrupada ficará com um número considerável também. Sem falar na dificuldade com a equipe de TI para fazer isso através de view.

Tentei fazer uma tabela e agrupar pelos eventos que compõem esse valor, mas também não deu certo ainda.

Muito orbrigado

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
26 minutos atrás, Michele disse:

Olá @Ricardo Cintra!

Acho que consegui fazer o que você precisa, só espero que seja isso mesmo, porque já quebrei um monte a cabeça aqui 😅.

Criando uma variável para cada Faixa consegui fazer a comparação com a outra medida, pelo teste que fiz aqui deu certo, tenta aí pra gente ver 🙂

Obs.: já fiz a medida com a intenção de considerar o Mês e Ano atuais do filtro em relação à vigência, mas recomendo modificar ali o período e ver se vai de fato carregar certinho.

 

Olá Michele, sensacional funcionou perfeitamente, muitíssimo obrigado.
Gratidão

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