Creación de fuente de datos SQL
¿Cómo crear una fuente de datos Consulta SQL para ser utilizada como valor o meta de un indicador?
1 - Configurar Jboss 7 con Diferentes Bases de datos
Para realizar dicha configuración se debe consultar la siguiente guía: HowTo Configurar JBoss 7 con Diferentes Bases de Datos
2 - Creación del DB Esquema en O3BPA
Desde Metadata creamos un artefacto DB Esquema, el cual indicará a qué base de datos conectarse para tomar los datos que alimentarán los indicadores.
En campo Fuente de datos se especifica el nombre del Datasource que se configuró en el Servidor.
3 - Creación de la Fuente de datos en O3BPA
Desde Metadata creamos un artefacto Fuente de Datos de tipo Consulta SQL, donde especificamos lo siguiente:
- Esquema: Id del DB Esquema creado anteriormente.
- Tabla: Nombre de la tabla a utilizar.
- Campos: Se especifican los campos a utilizar de la tabla, teniendo en cuenta que siempre se debe definir un campo Fecha cuyo tipo en BPA es "Dimensión Fecha".
Para los campos medida que sean ingresados, debemos seleccionar la operación de agregación a utilizar (Suma, promedio, etc.).
4 - Creación del indicador que utilizará como meta o valor, la fuente creada.
Desde Metadata creamos un Indicador de mismo modo que si estuvieramos creando un indicador manual.
La diferencia está en la pestaña Cálculo de Valor, donde especificamos que la meta o valor consume datos de una Fuente (seleccionamos la fuente creada en paso anterior), y el campo Medida que alimenta dicho indicador (previamente definido en la Fuente como tipo Medida).
Luego, en la Tabla Filtros, se definen condiciones sobre los valores consultados a la Tabla original (como cláusulas where).
4 - Ejemplo Práctico
Creamos un caso práctico donde la meta de un Indicador está definida como Fuente de tipo Consulta SQL.
Nombre de la base a utilizar: BPATest
Base de datos: SQL Server
Nombre de la Tabla: BPA_MetasIndicadores
Nombre del campo: meta
Imagen de la Tabla:
Configuración:
Se agregó Datasource apuntando a la maquina donde estaba instalada la BD.
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<datasource jndi-name="java:jboss/datasources/O3Server-ds"
pool-name="O3Server-ds" enabled="true" jta="true" use-java-context="true"
use-ccm="true">
<connection-url>
jdbc:sqlserver://wsa008:1433;databaseName=BPATest
</connection-url>
<driver>
mssql
</driver>
<security>
<user-name>sa</user-name>
<password>donfix;</password>
</security>
</datasource>
</datasources>
DB Esquema
Fuente de datos
Metadata del Indicador
Gráfica del ejemplo publicado
Si observamos en la tabla, para el mes Enero/2010 se encuentran 20 registros, para los cuales si sumamos el valor de la meta obtenemos como resultado 571.
Valor que visualizamos correctamente graficado en las imagenes.
Aplicando Filtros en Metadata
A continuación realizamos un cambio en la metadata del Indicador, agregamos un filtro.
Definimos que queremos la suma de la meta siempre y cuando el código de indicador sea 1.2.2 (campo de la tabla original que especificamos en la fuente como Dimensión).
Grafica del ejemplo publicado con Filtros
Si observamos en la tabla, para el mes Enero/2010 con código indicador = 1.2.2, se encuentra un único registro.
Entonces se grafica el valor meta = 18 correctamente en las imagenes.