BI - Filtros de data em painéis de indicadores
Como bem sabemos, toda analise de indicadores normalmente é baseada em um período, seja ele período em que iniciou-se processos, período de faturamento, período de encerramento de chamados, etc.
Pois bem, visto isso, estamos compartilhando uma maneira simples e pratica de fazer com que seus conectores possam ser testados e fiquem eficientes na utilização dos painéis de indicadores DOX.
WHERE CAST(CP.DATAHORA AS DATE) BETWEEN CAST(CASE
WHEN '/*DATAINI*/' = '1900-01-01' THEN CAST(CURRENT_DATE AS VARCHAR(10))
WHEN '/*DATAINI*/' = '.' THEN CAST(CURRENT_DATE AS VARCHAR(10))
WHEN '/*DATAINI*/' LIKE '%DATAINI%' THEN CAST(CURRENT_DATE AS VARCHAR(10))
ELSE '/*DATAINI*/'
END AS DATE)
AND
CAST(CASE
WHEN '/*DATAFIM*/' = '2500-12-31' THEN CAST(CURRENT_DATE AS VARCHAR(10))
WHEN '/*DATAFIM*/' = '.' THEN CAST(CURRENT_DATE AS VARCHAR(10))
WHEN '/*DATAFIM*/' LIKE '%DATAFIM%' THEN CAST(CURRENT_DATE AS VARCHAR(10))
ELSE '/*DATAFIM*/'
END AS DATE)
Assim teremos todos os tratamentos possíveis sempre com retornos do tipo DATE para serem usados no BETWEEN e podermos validar a sintaxe no conector.
De acordo com seu banco de dados, é interessante realizar tratamentos por exemplo:
- Onde usamos CURRENT_DATE, existem para cada banco comandos que trazem o primeiro e o ultimo dia do mês o qual seria interessante em alguns casos de uso, visto que os BI's veem com o valor '1900-01-01' e '2500-12-31' quando são abertos pela primeira vez. Assim o BI já inciaria com alguns dados.
Versão Homologada: 12.9 +