Mejores prácticas para personalizar reportes
Deberías personalizar los reportes teniendo en cuenta el rendimiento y el ahorro de tiempo.
Esta guía explica qué se debe tener en cuenta al personalizar reportes.
Parámetros de Usuario y Evento
- Siempre que quieras personalizar o crear un reporte desde cero, debes asegurarte de que al consultar datos de un Proveedor de Datos limites la cantidad de datos a procesar. Para ello, debes usar parámetros tipados que deben ser un Usuario y un Evento al crear un reporte basado en eventos.
- Necesitamos estos parámetros por dos razones, primero porque usarlos permite el procesamiento por lotes. El procesamiento por lotes es un proceso automático que "prepara" la información de un reporte guardado cada noche, de modo que cuando quieras generarlo, los datos estén listos. Si no usas parámetros tipados, el procesamiento por lotes no procesará nada y cuando quieras generar los reportes tomará más tiempo estar listos. La segunda razón es que usar parámetros tipados permite la búsqueda indexada en el proveedor de datos, lo que hará más rápida la ejecución de la consulta.
- Hay una función en el editor de consultas para incluir estos parámetros. Cuando la uses, recuerda seleccionar como tipo de parámetro "Desde Consulta" ya que este es el único tipo que el marco entenderá. Luego, para el parámetro de usuario, necesitas seleccionar un valor de las consultas del sistema Usuarios, Grupos (Etiquetas) o TagUsers y para el parámetro de evento usa la consulta del sistema EventRules.
- Si necesitas limitar el resultado para los parámetros, entonces deberías crear otra consulta donde puedas solicitar estos valores. Supongamos que quieres seleccionar como parámetro tipado de Usuario solo la lista de dispositivos en tu aplicación. Asumiendo que tienes un Grupo (Etiqueta) llamado "Dispositivos" en tu aplicación, entonces podrías crear esta consulta adicional:
SELECT DISTINCT
Users.UserID,
Users.Name
FROM Users
JOIN TagUsers ON TagUsers.UserID = Users.UserID
JOIN Groups (Tags) ON TagUsers.TagID = Groups (Tags).TagID
WHERE Groups (Tags).Name = 'Devices'
|
Después, necesitarás agregar el parámetro en el editor de consultas de la misma manera que se explicó antes, pero esta vez seleccionando tu propia consulta en lugar de una consulta del sistema.
¡Incluir estos parámetros en tu consulta la hará mucho más rápida! Y la última versión de GpsGate Server no te permitirá guardar tu consulta si no especificas estos parámetros tipados. Así que asegúrate de usarlos y de corregir esto en reportes anteriores que hayas creado.
Gestión de Datos
- Creación de nuevos Proveedores de Datos. Si tienes que crear un nuevo Proveedor de Datos, ten en cuenta que cuantos más Proveedores de Datos uses, más crecerá tu base de datos y la mayoría de estos datos se duplicarán si solo estás modificando un poco los predeterminados. Entonces, si realmente necesitas hacerlo, crearás una copia de uno existente. Intenta deshabilitar el original de todos los demás reportes que lo usen. El propósito principal de mantener el número de Proveedores de Datos al mínimo es evitar datos redundantes y esto te ayudará a mantener el tamaño de tu base de datos controlado.
- Herramienta de limpieza. GpsGate Server incluye una herramienta de limpieza para deshacerse de la información antigua. Si navegas a SiteAdmin/Applications/Cleanup y seleccionas una de tus aplicaciones, entonces tienes la opción de seleccionar por cuánto tiempo deseas conservar los datos de tu reporte. Esto no significa que los datos desaparecerán para siempre, pero si ejecutas ese reporte nuevamente, los datos serán reprocesados. Así que intenta encontrar un equilibrio entre rendimiento y disponibilidad y piensa si todavía es útil conservar datos antiguos ya procesados.
Gestión de Consultas
Estas son 2 cosas que no necesitas hacer en tu consulta.
- Ordenar el resultado de tu consulta es inútil. El editor de diseño te permite ordenar el resultado haciendo clic derecho al inicio de la fila. Selecciona la opción "Editar Grupo" y podrás agrupar y ordenar tus resultados.
- No selecciones más de lo que necesitas. Bastante simple pero efectivo, cuanto menos datos solicites, menos tiempo tomará la consulta. Si hay algunos datos que no necesitas, no los selecciones. Siempre intenta revisar tu consulta cuando termines de escribirla. Querrás eliminar cualquier cosa que al final no estés usando.
A veces, lo básico es lo que marca la diferencia y te ayuda a ganar tiempo al generar un reporte.