...
Luego el sistema nos da a elegir entre usar un reporte en blanco o usar plantillas. Elegimos Blank Report y apretamos Finish
Construir una fuente de datos (data source)
Antes de poder entrar a diseñar el reporte es necesario especificar como BIRT se conectara a una base de datos, esto se hace definiendo una fuente de datos.
A los efectos de este tutorial, estableceremos una fuente de datos para O3. veamos este preceso en detalle.
Seleccionamos una nueva fuente de datos, Data->New Data Source
Elegimos JDBC y le damos next
Tenemos 2 opciones para conectarnos a O3:
- Acceder a una vista
- Acceder al cubo con MDX
Veamos como completar el formulario para una conexión a una vista
Y ahora veamos para el caso de MDX
Podemos testear la conexión apretando el botón Test Connection...
Construir un Set de datos (Data set)
En esta etapa es en la que definimos la consulta propiamente dicha.
En el menú vamos a Data->New Data Set y veremos el siguiente dialogo
- En Data Set Name le pondremos el nombre con que queremos llamar a este Set.
- En Data Source nos da a elegir un data source que ya hallamos definido.
- En Dara Type elegimos SQL Select Query.
En la siguiente pantalla es que se define la consulta
Veamos en primera instancia para consultar una vista definida en el server
Aquí es importante destacar en el SQL el FROM de la clausula
'Vinos/VinosPorVendedor#_public'
- Vinos - es el nombre del cubo con que se lo publica en el server.
- VinosPorVendedor - es la vista de la cual me interesa extraer datos.
- #_public - indica como esta guardada la vista
Estos datos pueden ser sacados de la barra de estado del navegador web, luego de source=Vinos/VinosPorVendedor#_public en la página de marcadores.
Acontinuación no aparece la misma pantalla, pero con un menú de opciones entre ellas podemos hacer un vista previa (preview) de los datos que se traen con la consulta.
Veamos ahoro como seria para MDX
En este caso la diferencia con el anterior es que debemos elegir un Data Source para MDX y la sintaxis de la consulta difiere de la anterior
...
SELECT
{[<measures>].[<measures>].[Litros Vendidos]
,[<measures>].[<measures>].[Venta Bruta]} ON COLUMNS,
CROSSJOIN
({[Vendedores].[Vendedores].[Distribuidor].children}
,{[Vinos].[Vinos].children}) ON ROWS
FROM [Vinos]
Para este ejemplo lo que estamos es trayendo en la columnas los litros vendidos y la venta bruta. Para las filas estamos trayendo los vendedores y los vinos de forma que quedan anidados.
Por cuestiones de simpleza recomendamos el usa de las vistas sobre el uso mas complicado de MDX
Diseñando el Reporte
En esta parte del precedimiento insertaremos los elementos de nuestra consulta para realizar el reporte.
Comenzaremos por insertar un tabla, este elemento tiene la particularidad que interactua con todo el set de datos que trae la consulta. Para colocar un tabla hacemos Insert->Table
...