Tengo un informe de Data Explorer que utiliza 2 parámetros de fecha con valores predeterminados codificados.
-- [params]
-- date :start_date = 2024-12-01
-- date :end_date = 2025-01-01
Los valores predeterminados codificados funcionan para la mayoría de los tipos de parámetros, pero para los parámetros de fecha, me gustaría poder establecer valores dinámicos, como el lunes de la semana actual como fecha de inicio y el viernes de la semana actual como fecha de finalización:
-- [params]
-- date :start_date = cast(date_trunc('week', current_date) as date) + 0
-- date :end_date = cast(date_trunc('week', current_date) as date) + 4
^ esto, por supuesto, no funcionó.
Me gustaría mucho mantener el mismo informe con esos parámetros de fecha expuestos para poder seguir ejecutando el informe manualmente para diferentes fechas si es necesario. Pero también quiero usar el mismo informe con el plugin de Automatización para actualizaciones recurrentes de publicaciones sobre un tema utilizando la opción “Programar una publicación en un tema con resultados de Data Explorer”.
Yo diría que necesitarás “forkear” el informe, tener uno específico que se compense correctamente según la fecha actual para el explorador de datos y luego un segundo informe para uso manual.
Sé que es un poco molesto tener copias, pero parece la solución más sencilla.
Si el número se vuelve alto, un gran enfoque es usar la API de discourse para configurarlo y mantener la fuente en Github. De esa manera también puedes llevar el historial y evitar la bifurcación manual.
¿Funcionaría mover los valores predeterminados a la consulta y usarlos siempre que no se seleccione ninguna fecha? Entonces, algo como esto:
-- [params]
-- null date :start_date
-- null date :end_date
SELECT id as topic_id, created_at
FROM topics
WHERE created_at > COALESCE(:start_date, CAST(date_trunc('week', current_date) AS DATE))
AND created_at < COALESCE(:end_date, CAST(date_trunc('week', current_date) AS DATE)+4)