Ir para conteúdo
  • 0

Diferença Entre Datas (com premissa de horário e feriados)


lucas.zulini
Ir para solução Solucionado por Michele ,

Pergunta

  • Alunos

Boa tarde pessoal, tudo bom?
Estou precisando de uma ajuda para criar uma coluna calculada (talvez não seja o mais performático, mas para oq preciso já resolve) com a diferença entre duas datas levando em consideração as premissas abaixo:

1- Dias úteis de segunda a sexta, desconsiderando feriados
2- Se o horário de envio (coluna "B" do anexo) for após as 17h, somar 1 (3 se a data corrigida for sexta, 2 se for sábado e 1 se for domingo ou feriado)

No anexo há alguns exemplos com as colunas originais e com os cálculos q consegui fazer em excel. O formato da hora está em número, mas não há exigências qto aos formatos.

Plan1.xlsx

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução

Olá @lucas.zulini!

Acredito que o que fiz atende a sua necessidade. Apenas valide, por favor, se as regras estão corretas.

  • Acrescentei uma regra de sexta-feira + feriado, que também precisa "descontar" 3 dias do prazo. Confirme se isso faz sentido, mas a meu ver sim, caso contrário vai acabar somando apenas 1 dia e ficando errado no prazo final.
  • Para validar se a hora é maior que 17h criei uma coluna no Power Query "Sexta > 17h", talvez tenha como fazer no DAX, mas foi mais rápido e prático criar no M mesmo e usar ela no DAX para as demais validações.
  • Criei várias colunas com passo a passo para tentar ajudar a entender o raciocínio, e criei uma coluna única com todo o cálculo, que no fim é a única que você vai precisar além dessa criada no M, citada acima.

Segue código da Coluna calculada abaixo e o .pbix anexo para análise, se desejar.

Diferença Dias (Regras Unificadas) =
VAR vDiasSubtrair =
SWITCH(
    TRUE(),
    fFato[Sexta > 17h] = "Sim", 3,
    --Sexta Feira e feriado também acrescenta 3 dias
    fFato[Dia Semana] = "Sex" && fFato[Dt. Envio] IN VALUES(dFeriados[Feriados]), 3,
    fFato[Dia Semana] = "Sab", 2,
    fFato[Dia Semana] = "Dom", 1,
    fFato[Dt. Envio] IN VALUES(dFeriados[Feriados]),1,
    0
)

VAR vDiferencaNormalDias = DATEDIFF(fFato[Dt. Envio], fFato[Dt. Status], DAY)
VAR vResultado = vDiferencaNormalDias - vDiasSubtrair

RETURN
    vResultado

Diferença Entre Datas (com premissa de horário e feriados).pbix

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