Informe tarda mucho en cargar

Buenas noches.
Tengo una base de datos con un informe que tarda bastante en cargar.
Hay tres informes, que son parecidos. El primero tiene un solo nivel de agrupamiento, el segundo, dos, el mismo de primero, por trabajador, además de por fecha agrupando por mes.
El tercero incorpora el año.
Este último es el que, aunque funciona bien, tarda mucho en iniciarse.

Adjunto el fichero.
Un saludo,
2024-02-10T23:00:00Z
Horarios.odb (53,5 KB)

Version: 24.2.0.3 (X86_64) / LibreOffice Community
Build ID: da48488a73ddd66ea24cf16bbc4f7b9c08e9bea1
CPU threads: 8; OS: Linux 6.7; UI render: default; VCL: kf5 (cairo+wayland)
Locale: es-ES (es_ES.UTF-8); UI: es-ES
Calc: threaded

El hecho de que el informe tarde tanto se debe a las numerosas sumas que se crean en el informe. Intente crear esta totalización en la consulta. La base de datos en sí es mucho más rápida que el módulo de informes.

Esta totalización en las consultas funciona con subconsultas correlativas. Le echaré un vistazo a esto, pero no sé si lo entiendo bien ya que no hablo español.
Horarios.odb (62.1 KB)
No he podido sustituir un campo del informe. Habría tenido que buscarlo porque no entiendo el idioma. Por lo demás, todo funciona rápidamente con la ayuda de una vista y una consulta.

Ya he comprobado el problema de carga del informe.
Está provocado por el campo “HorasTrabajadas” de la vista “Horarios”.
No podía calcular la diferencia entra los campos “Salida” y “Entrada”, que son dos campos TIMESTAMP, calculados en esa consulta. Por ello cree el campo duplicando las concatenaciones de los dos anteriores y calculando la diferencia.
++++++++++++
CAST( ( ( CAST( ( “Horarios”.“FechaSalida” || ’ ’ || “Horarios”.“HoraSalida” ) AS TIMESTAMP ) - CAST( ( “Horarios”.“FechaEntrada” || ’ ’ || “Horarios”.“HoraEntrada” ) AS TIMESTAMP ) ) * 24 ) AS DECIMAL ( 10 , 2 ) ) “HorasTrabajadas”
++++++++++++
SELECT “IdHorario”, ( “Salida” - “Entrada” ) * 24 “HorasTrabajadas” FROM “VHorarios”
++++++++++++

Esta última es la nueva.
Si elimino dicho campo de la consulta VHorarios se terminó el problema de lentitud.
Buenas noches y un saludo,

También creo que es por lo mismo. El agrupamiento “Año” es la Fecha “Año” con la opción GROUP BY YEAR.
Podía hacerlo con “Anualidad”, pero es un campo STRING, de extraer el año de la fecha (EXTRACT( YEAR FROM “FechaEntrada” ) “Anualidad”).
Con ese funciona igual de lento, pero cuando lo pongo en un campo de texto, para verlo, no responde.
Repite siempre el mismo año
He tenido que hacer, además de la Vista una consulta para campos calculados, qué hay muchos.
Muchas gracias de todas formas.
Un saludo,

¿Has probado el informe del archivo que he subido? Se ejecuta muy rápidamente. Sólo faltan 2 campos porque no sé lo que está agregando.

Ya He probado el informe. Es mucho más rápido.
He visto que has hecho una nueva consulta. Sólo puedo verla en vista SQL, pues parece que tiene subconsultas.
Mañana la veré más tranquilo a ver si la entiendo por completo.
He corregido una consulta que yo no había rectificado antes de subirlo, la de TotalesMes.
Los dos campos que faltaban los he completado.
Muchas gracias.
Un saludo,

Horarios.odb (62,0 KB)

Por favor, no te aurorespondas… usa los comentarios para esto.