Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Workspace: Datos de Empresa • LINUX USER
77Número 49W W W . L I N U X - M A G A Z I N E . E S
Si somos propietarios de una empresa
o trabajamos por cuenta propia, ana-
lizar nuestros datos empresariales
puede sernos tan útil como a las grandes
corporaciones. No es necesario invertir
miles de euros en herramientas de inteligen-
cia empresarial (IE) de alta calidad. En
muchos casos, la aplicación OpenOffice.org
Base combinada con la extensión Sun
Report Builder pueden hacer el trabajo igual
de bien.
Sun Report Builder [1] usa el mismo
motor de informes que la suite IE Pentaho
[2] y su pedigrí la hace una herramienta per-
fecta para el análisis de nuestros datos
empresariales. OpenOffice.org Base, a su
vez, puede conectarse a distintos sistemas
de bases de datos, de manera que podemos
usarla para extraer datos desde virtualmente
cualquier aplicación empresarial que utiliza
una base de datos y analizarlos con las
herramientas ofrecidas por Sun Report Buil-
der. Tómese, por ejemplo, BambooInvoice
[3], una aplicación de facturación de fácil
uso basada en MySQL/PHP [4], la cual, a
pesar de realizar un buen trabajo adminis-
trando facturas, es bastante limitada cuando
analiza los datos de facturación. OpenOf-
fice.org es lo que da el color aquí. Usando la
combinación Base/Sun Report Builder,
podemos crear una solución que nos per-
mita ver los datos de la factura desde distin-
tos ángulos y convertir los números en gráfi-
cos fácilmente digeribles.
Antes de comenzar debemos asegurarnos
de que tenemos instalados en nuestro sis-
tema Sun Java Runtime Environment y la
última versión de la extensión Sun Report
Builder. La primera orden empresarial es
conectar OpenOffice.org Base al back end de
la base de datos de BambooInvoice. Para
hacerlo necesitamos un pequeño programa
llamado conector, el cual actúa como un
puente entre el back end basado en MySQL
de BambooInvoice y una base de datos de
OpenOffice.org Base.
MySQL proporciona dos conectores: Con-
nector/ODBC y Connector/J [5]. En el ejem-
plo de aquí usaré el último, porque es signi-
ficativamente más fácil instalarlo y configu-
rarlo. Una vez que descargamos Connector/
J del sitio web de MySQL, desempaqueta-
mos el archivo y movemos el que resulta,
mysql-connector-java-x.x.x-bin.jar, al lugar
que deseemos (por ejemplo, a nuestro direc-
torio de inicio).
En OpenOffice.org, seleccionamos Herra-
mientas | Opciones | OpenOffice.org | Java, a
continuación nos aseguramos de que se
selecciona el Java Runtime Environment
apropiado y pulsamos el botón Ruta Clase.
Seguidamente, hacemos lo propio en Añadir
CONSTRUCTOR DEBASECONSTRUCTOR DEBASE
Archivo y seleccionamos mysql-connector-
java-x.x.x-bin.jar. Para guardar las configu-
raciones pulsamos Aceptar, cerramos la ven-
tana y volvemos a iniciar OpenOffice.org.
Ahora estamos preparados para conectar
OpenOffice.org a la base de datos MySQL.
En OpenOffice.org, seleccionamos Nueva |
Base de Datos. En el Asistente de Database
seleccionamos la opción Conectar a base de
datos existente, elegimos MySQL de la lista
desplegable y pulsamos Siguiente. A conti-
nuación seleccionamos la opción Conectar
usando JDBC (Conectividad de base de
datos de Java) y pulsamos Siguiente. Intro-
ducimos los nombres de la base de datos en
los campos apropiados (por defecto, Bam-
booInvoice usa una base de datos llamada
bamboinvoice y la dirección del servidor
(Figura 1).
Para asegurarnos de que el driver de
MySQL JDBC funciona adecuadamente, pul-
samos el botón Probar clase. Cuando se ha
cargado con éxito, presionamos Siguiente,
introduciendo seguidamente el nombre de
usuario en el campo Nombre de usuario y
marcando el cuadro de comprobación Se
requiere contraseña. Para comprobar que
todo funciona como debe pulsamos el botón
Probar Conexión, y luego Siguiente, seleccio-
namos la opción Sí, registrar la base de datos
por mí, y por último presionamos Finalizar.
Aprendemos a analizar nuestros datos empresariales con la ayuda de
OpenOffice.org Base y la extensión Sun Report Builder.
POR DMITRI POPOV
Inteligencia empresarial con OpenOffice.org BaseInteligencia empresarial con OpenOffice.org Base
LINUX USER • Workspace: Datos de Empresa
78 Número 49 W W W . L I N U X - M A G A Z I N E . E S
entre estas tres
tablas, para lo cual
arrastramos el ratón desde un campo en una
tabla al campo objetivo en la otra tabla. De
este modo se añade un conector entre
ambas tablas.
En este caso de muestra necesitamos
crear dos relaciones: bamboo_invoices.id a
bamboo_invoice_items.invoice_id y bamboo-
clients.id a bamboo-invoices.client.id (Figura
2). Luego añadimos los campos
invoice_number, dateIssued, name y
amount a la consulta arrastrándolos desde
las tablas a las columnas Campo en el panel
inferior de la ventana de la consulta.
Una vez añadidos los campos, hemos de
agrupar el campo invoice_number de
manera que todas las filas con el mismo
número de factura aparezcan como un ele-
mento en el informe. Para hacerlo seleccio-
namos Agrupar en la fila Función de la
columna invoice_number. Igualmente, tene-
mos que configurar la opción Función del
campo amount a Suma. De este modo el
campo amount contendrá la suma total de
todas las facturas de pago con el mismo
número de factura.
Para entender mejor qué es exactamente
lo que hacen las funciones Agrupar y Suma,
probamos a ejecutar la consulta sin ellas. El
Listado 1 muestra resultados similares a los
que deberíamos obtener. Como puede apre-
ciarse, una única factura posee una fila sepa-
rada para cada elemento de la misma. A
continuación aplicamos las funciones Agru-
par y Suma como se ha descrito y ejecuta-
mos la consulta de nuevo. El resultado debe-
ría ser una fila simple, que es exactamente lo
que necesitamos (Listado 2).
Seguidamente guardamos la consulta y le
damos un nombre, por ejemplo “Consulta
1”. Luego, podemos comenzar a trabajar en
un nuevo informe.
Para un nuevo informe, cambiamos a la
sección Informes y pulsamos el enlace Crear
Vista de Didesño de Informe. Esto abre un
informe en blanco en Sun Report Builder. En
la sección Datos del panel Propiedades,
especificamos una fuente de datos seleccio-
nando Consulta de la lista desplegable Tipo
de Contenido y la Consulta 1 creada de la
lista Contenido. A continuación arrastramos
Después de que demos un nombre a la
base de datos (por ejemplo, “BambooIn-
voice”), la guardamos, abrimos la base de
datos y pulsamos el botón Tablas. Tras intro-
ducir la contraseña de la base de datos,
deberíamos ver una lista de todas las tablas
en la base de datos bambooinvoice.
Creación de Consultas e
Informes
Ahora explicaré cómo crear un informe sim-
ple que imprima una lista de todas las factu-
ras almacenadas en BambooInvoice. Cada
elemento en la lista contendrá el número de
factura, nombre del cliente, fecha de crea-
ción de la factura y el importe total. Todos
los datos están almacenados en las distintas
tablas de BambooInvoice, de modo que
debemos crear una consulta que extraiga las
grabaciones de ellos. Cambiamos a la sec-
ción Consultas y pulsamos el enlace Crear
Vista de Diseño de Consulta para crear una
consulta nueva. En la ventana de la con-
sulta, añadimos tres tablas de la base de
datos: bamboo_invoices,
bamboo_invoice_item y bamboo_clients.
Seguidamente hemos de crear relaciones
Figura 1: Configuración de Connector/J.
Figura 3: Creación de un informe simple. Figura 4: Consulta para el segundo informe.
Figura 2: Consulta para el primer informe.
hacerlo pulsamos dos veces en el gráfico,
que lo pondrá en modo edición, pulsamos
con el botón derecho en el gráfico y seleccio-
namos el elemento Tipo de Gráfica, lo que
abrirá el asistente Tipo de Gráfica que nos
ayudará a seleccionar y configurar el for-
mato que deseemos (Figura 6).
Conclusión
Usando Sun Report Builder podemos conver-
tir OpenOffice.org Base en una potente herra-
mienta. Si no tienes ganas de crear la solución
que hemos descrito desde cero, puedes des-
cargarte la base de datos de prueba Bambo-
oInvoice.odb [6], que contiene los informes y
consultas descritos anteriormente.
La base de datos requiere una instalación
BambooInvoice que funcione, por lo que
debemos sustituir las configuraciones de
conexión por defecto. Para hacerlo, abrimos
la base de datos BambooInvoice.odb, selec-
cionamos Editar | Base de Datos | Propieda-
des y sustituimos el nombre de usuario y la
contraseña predeterminados. �
Workspace: Datos de Empresa • LINUX USER
79Número 49W W W . L I N U X - M A G A Z I N E . E S
los campos desde la ventana Añadir campo
a la sección Detalle del informe y los organi-
zamos y formateamos como deseemos
(Figura 3). Ya está, nuestro informe está pre-
parado. Para probarlo pulsamos el botón Eje-
cutar Informe de la barra de herramientas
principal de Report Builder.
Adición de Gráficos
Como Sun Report Builder soporta gráficos
(de tarta, barra, etc.), podemos explorar
nuestros datos visualmente mediante gráfi-
cos en lugar de hacerlo con filas planas de
texto y números. Por ejemplo, podemos
crear un informe con un gráfico que repre-
sente la cantidad facturada por cada cliente.
De manera similar a un informe normal, un
informe con un gráfico extrae los datos
directamente de una tabla o consulta. Como
tenemos que conseguir filas de tablas dife-
rentes, necesitamos éstas. En este caso,
debemos obtener los datos del campo name
de la tabla bamboo_clients y el campo
amount de la tabla bamboo_invoice_items.
Al igual que en la consulta anterior, tene-
mos que configurar la opción Función de los
campos name y amount a Agrupar y Suma
(Figura 4). Tras guardar la consulta, creamos
un nuevo informe que la usará como fuente
de datos (Figura 5). Como querremos que
nuestro gráfico aparezca en el informe una
sola vez, deberemos situarlo en la sección
Enabezamiento del Informe o en Pie del
Informe, luego pulsamos el botón Gráfico de
la barra de herramientas principal de Report
Builder y dibujamos un gráfico en la sección
del informe que deseemos. Después de ase-
gurarnos de que el gráfico está seleccionado
(por ejemplo, tiene unos tiradores verdes
alrededor), seleccionamos la consulta ade-
cuada como su fuente de datos.
Nótese que en lugar de crear la consulta
en la sección Consultas, podemos especifi-
carla directamente como la fuente de datos
del gráfico en el informe. Para ello, seleccio-
namos Comando SQL de la lista desplegable
Tipo de Contenido, luego pulsamos el botón
al lado de la lista Contenido para abrir la
ventana de consulta; a continuación lo usa-
mos para crear la consulta. Una vez que
guardamos la consulta creada, el sistema la
convierte en sentencias SQL y las inserta en
el campo Contenido.
Por defecto, Sun Report Builder inserta
una gráfica de barras, aunque podemos
cambiarlo por otro tipo de gráfico. Para
Figura 5: Añadiendo un gráfico. Figura 6: Sustitución fácil del gráfico de barras predeterminado.
[1] Sun Report Builder: extensions.
services.openoffice.org/project/
reportdesign
[2] Pentaho: www.pentaho.com
[3] BambooInvoice: www.
bambooinvoice.org
[4] “Cómoda Solución” de Dmitri Popov.
Linux Magazine edición en castellano
nº 48.
[5] Conectores MySQL: http://www.
mysql.com/products/connector/
[6] Base de datos BambooInvice única:
www.mediafire.com/?gi44bdx1z4m
RECURSOS
01 invoice_number dateIssued name amount
02 3 11/27/08 Nuts and Bolts Inc 2743
Listado 2: Consulta con Agrupar y Suma
01 invoice_number dateIssued name amount
02 3 11/27/08 Nuts and Bolts Inc 375
03 3 11/27/08 Nuts and Bolts Inc 2157
04 3 11/27/08 Nuts and Bolts Inc 211
Listado 1: Consulta sin Agrupar y Suma