Motor de KPIs

En esta release se ha incorporado la definición y creación de KPIs (Key Performance Indicator) en Sofia2. Un KPI consiste básicamente en una métrica que nos ayuda a medir y a cuantificar un progreso en función de unas metas y objetivos planteados, es decir, un KPI se diseña para mostrar cómo es el progreso en un proceso o producto en concreto.

En Sofia2 se ha implementado el concepto de KPI vía el concepto de ontología, en esta se almacenará aquella información procedente de otras ontologías que se considere relevante para el estudio de la evolución de una serie de parámetros.

Por tanto, para crear un KPI, debemos dirigirnos al menú Ontología->Crear Ontología y despues hacer click sobre Crear Ontología de tipo KPI:

kpipantallainiciales

En la página de creación del KPI disponemos de tres pestañas distintas: Configuración de KPI, datos generales y parámeros opcionales. A continuación se explica detalladamente cada una de estas pestañas.

  1. Configuración de KPI

kpiconfiguraciones1

  • Nombre KPI: Nombre que se desea asignar al KPI en cuestión. El KPI quedará guardado como una ontología con ese nombre.
  • Temporizador: Expresión CRON que determina cada cuánto tiempo se procesará la información determinada por el campo Query. Al hacer click sobre Generar Expresión CRON se abrirá una ventana en la que se podrá definir la expresión CRON de manera sencilla.
  • Fecha inicial del cálculoFecha a partir de la cual se comenzará a procesar la información determinada por la consulta introducida en el campo Query. En caso en el que no se desee realizar un KPI con dependencias temporales este campo no influirá.
  • Regenerar datos en cada ejecución: Da la posibilidad de que los datos que pueda haber guardados en el KPI con anterioridad sean borrados. Es decir, cada vez que se ejecute el KPI (determinado por el campo Temporizador) se borrarán los registros guardados y se guardarán los resultados correspondientes a la información resultante de la consulta realizada en el campo Query.
  • Ontologías disponibles: Ontologías a las cuales el usuario registrado en la plataforma tiene acceso. Al hacer click sobre cualquier ontología, se mostrarán los campos pertenecientes a dicha ontología, los cuales de nuevo al hacer click se añadirán como texto en el campo Query.
  • Dependencias temporales: Son las referencias al tiempo disponibles para añadir en la consulta introducida en el campo Query. Como único requisito, se necesita que el campo de la ontología a consultar en el cual se aplique la lógica (igualación, menor que, …) sea una fecha con formato UTC. Al hacer click sobre ellos se añadirá dicho valor al campo Query. Por ejemplo, si hemos impuesto que un KPI se ejcute cada día por medio del campo Temporizador, el valor de $current_day será sustituido por el día, mes y año registrado en ese momento.
  • Operadores: Listado de operadores disponibles para añadir a la consulta del campo Query. Como en el caso anterior, al hacer click sobre un determinado elemento, este quedará añadido al campo Query.

KPIConfiguracionEs2.JPG

  • Query: Campo en el que se escribirá la consulta que se desea hacer sobre las ontologías listadas anteriormente. Esta consulta se ejecutará cada vez que se planifique el KPI en cuestión y los datos resultantes serán guardados en la Base de Datos de Tiempo Real. Posteriormente se harán verán algunos ejemplos.
  • Mostrar Ejemplo: Botón incorporado como ayuda para definir una consulta en el campo

Query. La información que muestra al hacer click en este es la siguiente:

KPIAyudaEs.JPG

  • Ocultar Ejemplo: Oculta la información mostrada acerca del ejemplo. Botón solo visible en el caso en que se haya pulsado sobre el botón Mostrar Ejemplo. 
  • Visualizar Resultado Query: Al hacer click se ejecuta la consulta suministrada para visualizar los datos devueltos y poder así comprobar que la consulta ha sido realizada correctamente.
  • GuardarAunque está visible desde todas las pestañas, será necesario rellenar los campos obligatorios para poder guardar un KPI de manera satisfactoria.
  • Cancelar: Redirige hacia en panel principal de Sofia2.

2. Datos Generales

KPIGeneralEs.JPG

  • Descripción: Permite introducir una breve descripción del KPI en cuestión.
  • Meta-Inf: Permite introducir Meta-información en el KPI.
  • Activa: Determina si la ontología (o KPI) está activa. En caso en que un KPI no esté activo, se desplanificará y no se planificará de nuevo mediante la expresión CRON suministrada hasta que no esté activo de nuevo.
  • Público: Permite definir al KPI como público.

3. Parámetros opcionales

KPIOpcionalEs.JPG

Como su propio nombre indica, son parámetros complementarios que permiten informar sobre el comportamiento de la información una vez volcada en la ontología. Es decir, el paso de la información desde base de datos de tiempo real a la base de datos histórica, ya explicados e incorporados en anteriores releases.

Características a tener en cuenta en la consulta

  • Igualación a dependencias temporales

Supongamos que la consulta que queremos realizar es:

SELECT MAX(weather.weather.TMax) AS Tmax
FROM weather
WHERE weather.weather.Date<$current_month

Podemos ver que se ha relacionado el campo Date (que debe ser una fecha con formato UTC) de la ontología weather con la dependencia temporal $current_month. 

Supongamos ahora que el KPI está planificado cada mes y que la primera ejecución esta prevista para Enero, entonces $current_month será sustituido por:

weather.weather.Date<2017/01/31

Si ahora cambiamos la consulta por esta otra:

SELECT MAX(weather.weather.TMax) AS Tmax
FROM weather
WHERE weather.weather.Date=$current_month

Entonces la consulta resultante después de sustituir el campo $current_month es:

weather.weather.Date BETWEEN DATE("2017/01/01") and DATE("2017/01/31")

Es decir, si se dispone de una igualación, esta siempre será cambiada por un BETWEEN. En caso contrario, se respetará el operador.

Si, en vez de $current_month tuviésemos $current_hour y son las 14:00:00, la consulta resultante sería:

...BETWEEN TIMESTAMP("2017/01/01T14:00:00Z") and TIMESTAMP("2017/01/01T14:59:59Z")
  • Primera ejecución del KPI

En el caso en el que la fecha inicial del cáculo sea impuesta (por ejemplo al 1 de enero del 1970) y que se disponga de una igualación a dependencias temporales en la consulta, como la descrita en el caso anterior, se tendrá que:

weather.weather.Date BETWEEN DATE("1970/01/01") and DATE("2017/01/31")

Y todos los datos resultantes serán almacenados en la primera ejecución. Para las posteriores ejecuciones, se seguirá el criterio explicado en el paso anterior.

Comprobación ejecución KPI

Para comprobar si un KPI ha sido ejecutado correctamente, se puede recurrir a la ventana disponible en Herramientas-> Visualización de estado de procesos.

KPIVisualizarEs.JPG

Visualización de resultados

Si creamos un KPI con los datos suministrados por la ontología weather (la cual posee datos como los mostrados en el ejemplo), podemos, a partir de ellos, generar dos Gadgets: uno con las precipitaciones y otro con la temperatura máxima y mínima.

dashboard.jpg

Motor de KPIs

2 comentarios en “Motor de KPIs

  1. Muy interesante lo de los KPIs. Pero me surge una duda: ¿de qué memoria coge las instancias de las ontologías para realizar la consulta? de RTDB o HDB?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s