Boa tarde, Marcelo! Tudo bem com você?
Sua situação é bem específica. No Looker, não há uma função nativa que faça exatamente o que a fórmula DIATRABALHO
faz no Excel, mas você pode contornar isso usando a função WEEKDAY
e CASE
.
A função WEEKDAY
retorna o dia da semana de uma data, onde geralmente:
0 = Domingo
1 = Segunda-feira
...
6 = Sábado
A função CASE
permite filtrar apenas os dias úteis (geralmente de segunda a sexta-feira), além de excluir feriados específicos.
Exemplo:
CASE
WHEN WEEKDAY(${data}) IN (0, 6) THEN NULL
WHEN ${data} IN ('2024-12-25', '2024-01-01') THEN NULL -- Exemplo de feriados fixos
ELSE ${data}
END
Como não conheço seu cenário, deixo também outra alternativa, que é válido para situações mais complexas (como SLAs que exigem múltiplas verificações de feriados ou dinâmicas), é ideal usar uma tabela de calendário no banco de dados, exemplo da estrutura:
Data | É_dia_útil | Feriado |
---|
2024-12-01 | 0 | 0 |
2024-12-02 | 1 | 0 |
2024-12-25 | 0 | 1 |
Caso queira se aprofundar no assunto, deixo como referência este artigo. As recomendações estão em inglês, mas, usando o recurso de tradução de páginas do próprio navegador, é possível compreender.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado