Personalizar Proveedores de Datos
Puede crear sus propias definiciones de reportes y personalizar las plantillas de reportes existentes sin habilidades de programación.
Esta guía mostrará cómo personalizar una definición de reporte o Proveedores de Datos. Por ejemplo, modificaremos la plantilla de reporte de distancia para usar una señal de Ignición de los activos para definir los inicios y paradas de los viajes.
Proveedores de datos
Un proveedor de datos procesa datos de seguimiento en bruto y almacena la información agregada en una tabla de reportes. El proveedor define qué datos procesar, cómo deben ser agregados y si se deben realizar cálculos antes de que los datos se almacenen en la tabla de reportes.
Los proveedores de datos se ejecutan como procesos en segundo plano para proporcionar acceso rápido a datos de reportes actualizados. Múltiples consultas de reportes pueden usar una tabla de reportes.
Se pueden recopilar los siguientes tipos de datos:
Dirección | La dirección de una posición. Puede ser la primera (Inicio) o última (Parada) posición que encaja en el intervalo de tiempo del registro |
Promedio | El valor promedio de la variable seleccionada |
Distancia (GPS) | La distancia, medida por GPS |
Distancia (Odómetro) | La distancia medida por la variable del odómetro del rastreador |
Consumo de Combustible | El consumo de combustible, si es medido por el rastreador |
Geocerca | El nombre de la Geocerca de una posición. Puede ser la primera (Inicio) o última (Parada) posición que encaja en el intervalo de tiempo del registro |
Máximo | El valor máximo de la variable seleccionada |
Mínimo | El valor mínimo de la variable seleccionada |
Suma | La suma de las ocurrencias para la variable seleccionada |
Valor | El valor de cualquier variable seleccionada |
Los datos se escriben en la tabla de reportes cuando se cumplen las condiciones.
Existen las siguientes opciones para las condiciones de escritura:
Cada viaje | Se escribirá una fila de datos por cada viaje. Por defecto, un viaje comienza cuando un activo comienza a moverse y se detiene cuando un activo permanece quieto por algún tiempo. Una parada (punto gordo en la consulta) también se considera un viaje y creará otra fila en la tabla de reportes. |
Cambio de valor de columna | Se escribirá una fila cada vez que la variable seleccionada cambie su valor. Esto se puede usar si, por ejemplo, se utiliza una variable de Ignición para definir el inicio y la parada de un viaje. |
Período de tiempo | Se escribe una fila después de un período de tiempo definido. Esto es útil si desea acumular datos de reportes durante un período de tiempo, como el número de incidentes por hora. |
Condición de variable | Se escribe una fila cada vez que se cumple una condición para una variable, por ejemplo “[velocidad] > 10” |
Como ejemplo, el proveedor de datos para el reporte de distancia crea un registro para cada viaje basado en la condición “Cada viaje”. El registro incluye los tiempos y posiciones de inicio y parada, información del usuario y la distancia del viaje. El registro también contiene datos adicionales como la velocidad promedio y máxima durante el viaje, como se muestra en la imagen a continuación:
Nota: Múltiples proveedores de datos pueden ser utilizados por una definición de reporte y esto permite reportes flexibles basados en combinaciones de datos agregados.
Definiciones de Reporte
Una definición de reporte consiste en al menos una consulta de reporte y una definición de diseño de tabla para el reporte final. Múltiples definiciones de reporte pueden usar una tabla de reporte creada por un proveedor de datos.
Editor de consultas
El editor de consultas se utiliza para definir consultas usadas por el reporte. Las consultas pueden usar tanto tablas del sistema como las tablas de reporte creadas por los proveedores de datos. También es común que las consultas utilicen otras subconsultas para generar el resultado esperado. La imagen a continuación muestra el editor de consultas con la consulta DistanceDetailed.Como puedes ver en la imagen, es posible ejecutar consultas en el editor de consultas para simplificar las pruebas.
Sigue los pasos a continuación para ejecutar una consulta:
- Edita la consulta y guárdala
- Verifica que todos los parámetros requeridos estén disponibles, añade los parámetros requeridos
- Selecciona contra qué aplicación ejecutar la consulta
- Asigna valores a todos los parámetros que se adapten a tu prueba, por ejemplo, el intervalo de tiempo correcto y TagID
- Haz clic en Ejecutar para ejecutar la consulta
El resultado se mostrará debajo del editor de consultas. Ahora puedes editar tu consulta y cambiar los parámetros hasta que obtengas el resultado esperado.
Cuando tu consulta devuelva el resultado esperado, puedes pasar a configurar el diseño.
Modificar un reporte existente
Ahora al ejemplo. Modificaré la plantilla de reporte de distancia para usar el estado de Encendido (on / off) de los activos para definir inicios y paradas de viaje. También eliminaré la configuración predeterminada de la plantilla que es usar paradas (por ejemplo, puntos de inactividad/detención) para definir inicios y paradas de viaje.
Crear un nuevo proveedor de datos
Primero, creamos un nuevo proveedor de datos que registre viajes basados en el estado de Encendido.
Inicia sesión en Administración del sitio y sigue estos pasos:
- Haz clic en la pestaña Reportes y selecciona Administrar Proveedores de Datos
- Haz clic en Nuevo
- Selecciona Copia de Distance01 y haz clic en Siguiente. Renombra la nueva regla a DistanceIgnition e ingresa una descripción.
- En la sección Selecciona qué datos deben ser recopilados selecciona Valor en el menú desplegable y haz clic en Agregar. Luego ingresa el nombre Encendido y selecciona el campo Encendido. Haz clic en Insertar para agregar la columna a la tabla
- En la sección Selecciona cuándo deben escribirse los datos haz clic en Eliminar para el valor predeterminado Cada viaje
- Selecciona el Cambio de valor de columna del menú desplegable y haz clic en Agregar. Luego selecciona Encendido del menú desplegable Columna de monitoreo
- Guarda el nuevo proveedor de datos
- Selecciona tu aplicación y una fecha con algunos datos de seguimiento para probar el nuevo proveedor. Haz clic en Ejecutar para procesar los datos. La salida te mostrará cómo tu configuración procesa los datos
Crear una nueva definición de reporte (Consulta y diseño)
Ahora que hemos creado un nuevo proveedor de datos, también necesitamos crear una consulta y definir el diseño para el nuevo reporte. Será bastante similar a la plantilla de reporte de distancia predeterminada, por lo que podemos usar eso como punto de partida.
Sigue estos pasos para personalizar la consulta:
- Seleccione Gestionar Reportes del menú y haga clic en Nuevo
- Seleccione Viaje & Inactivo (Detallado) y haga clic en Siguiente. Esto creará una copia de una plantilla existente que podemos modificar.
- Haga clic en Editor de Consultas en la parte inferior de la página.
- Seleccione la consulta del reporte DistanceDetailed y cambie lo siguiente:
Cambie todas las ocurrencias de Distance01 a DistanceIgnition
Cambie Distance01.FatPointState WHEN ‘idle’ a DistanceIgnition.Ignition WHEN ‘0’
Cambie Distance01.FatPointState WHEN ‘run’ a DistanceIgnition.Ignition WHEN ‘1’
Elimine la última línea AND Distance01.FatPointState != ‘sleep’ - Guarde la consulta cuando haya terminado
- Pruebe la consulta, seleccione parámetros y haga clic en Ejecutar.
- Haga clic en Atrás para volver a la página de diseño del reporte
La nueva consulta debería verse así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| SELECT Usuarios.Username,
Usuarios. Name ,
CASE DistanceIgnition.Ignition WHEN '0'
THEN TIME_TO_SEC(TIMEDIFF(DistanceIgnition.SamplingEnd, DistanceIgnition.SamplingStart))
ELSE 0 END AS IdleDuration,
CASE DistanceIgnition.Ignition WHEN '1'
THEN TIME_TO_SEC(TIMEDIFF(DistanceIgnition.SamplingEnd, DistanceIgnition.SamplingStart))
ELSE 0 END AS TripTime,
DistanceIgnition.SamplingStart,
DistanceIgnition.SamplingEnd,
DistanceIgnition.UserID,
DistanceIgnition.StartAddress,
DistanceIgnition.StopAddress,
DistanceIgnition.DistanceGps,
DistanceIgnition.DistanceOdo,
DistanceIgnition.MaxSpeed,
DistanceIgnition.AvgSpeed,
DistanceIgnition.Ignition,
DistanceIgnition.Fuel
FROM DistanceIgnition
JOIN Usuarios ON Usuarios.UserID = DistanceIgnition.UserID
WHERE DistanceIgnition.UsuarioID IN ( SELECT UsuarioID FROM TagUsers WHERE TagUsers.TagID IN [TagID])
AND DistanceIgnition.SamplingStart >= [PeriodStart]
AND DistanceIgnition.SamplingEnd <= [PeriodEnd]
|
Crear un nuevo diseño de reporte
Ahora tenemos los datos correctos en nuestra consulta de reporte. La sección de diseño de reporte nos permite seleccionar cómo publicar los datos en el reporte.
Sigue estos pasos para modificar el diseño del reporte:
- Elimina el valor [FatPointState]
- Haz clic derecho en la celda y Inserta el campo [Ignition] y el título de la columna Estado de ignición
- Renombra el nuevo reporte a Viaje & Inactivo (Ignición)
- Haz clic en Guardar para guardar el reporte.
Ahora tenemos una nueva definición de reporte que define los viajes basados en el estado de encendido/apagado enviado desde los activos en lugar del comportamiento predeterminado con paradas.