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

  • Membros

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...