Beruflich Dokumente
Kultur Dokumente
DESARROLLO DE UN PROTOTIPO
DE INTELIGENCIA DE NEGOCIOS
PARA PYMES USANDO
HERRAMIENTAS
OPEN SOURCE
(PENTAHO)
TESIS DE GRADO
Previa a la obtencin del Ttulo de:
INGENIERA EN SISTEMAS COMPUTACIONALES
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMTICAS Y FSICA
CARRERA DE INGENIERIA EN SISTEMAS
COMPUTACIONALES
DESARROLLO DE UN PROTOTIPO
DE INTELIGENCIA DE NEGOCIOS
PARA PYMES USANDO
HERRAMIENTAS
OPEN SOURCE
(PENTAHO)
TESIS DE GRADO
Previa a la obtencin del Ttulo de:
INGENIERA EN SISTEMAS COMPUTACIONALES
MANUAL TECNICO
HERRAMIENTA DE BUSINESS
INTELLIGENCE
PENTAHO
NDICE
4 CONFIGURACIONES: ............................................................................................ 15
4.1 Si se usa repositorio: ....................................................................................................... 15
4.2 Si se usa archivos XML (KTR or KBJ): ......................................................................... 15
spoon.sh: inicia Spoon en una plataforma tipo Unix, tal como GNU/Linux,
Apple OSX, y Solaris.
Una vez descargado el DATA INTEGRATION: nos ubicamos dentro de esta carpeta
y damos clic aqu
10
11
Transformacin
Descripcin
Valores que forman parte de una fila y que pueden contener cualquier
Valor
fila
entrada.
Flujo de Entrada
Salto
Nota
12
Tabla entrada
salto
Salida
Descripcin
Entrada de
Trabajo
especfica.
Representacin grfica de uno o ms flujos de datos entre 2
Salto
Nota
13
14
opcin Transformacin.
2. Seleccionando en el men principal la opcin: Fichero -> Nuevo ->
Transformacin
3. Presionando las teclas CTRL-N
Cualquiera de estas acciones abre una pestaa nueva para comenzar a disear
una Transformacin.
opcin Trabajo.
2. Seleccionando en el men principal la opcin: Fichero -> Nuevo -> Trabajo
3. Presionando las teclas CTRL-ALT-N
Cualquiera de estas acciones abre una pestaa nueva para comenzar a disear
un Trabajo.
3.5 Agregar Notas
Las Notas permiten agregar textos descriptivos al lienzo del Trabajo o
Transformacin:
Para agregar una nota a la vista grfica, hacer clic derecho en el lienzo y
seleccionar Nueva nota.
Para borrar una nota, hacer clic derecho en la nota y seleccionar Eliminar
nota.
15
4 CONFIGURACIONES:
Se puede crear mltiples conexiones a base de datos a diferentes bases de datos.
4.1 Si se usa repositorio:
Una vez que la conexin es creada, esta se encuentra disponible para todas las
transformaciones y tareas que se encuentren creadas en el archivo repositories.xml.
seleccionar
"Nuevo"
"Asistente
Nueva
Conexin"
16
El botn "Lista de funciones" (Lista de funciones) muestra una tabla con variables y
valores relacionados a la conexin actual.
17
Cada versin de Pentaho Data Integration esta empaquetado con los drivers JDBC
para las diferentes bases de datos que se listan en las opciones.
Algunas veces, ciertos drivers propietarios no pueden ser publicados con Kettle pero
es posible agregarlos en casos particulares en la carpeta lib / libext que contenga una
falla o que simplemente sea necesario otra versin.
18
19
NIO buffer size- Determina el tamao del buffer usado por la nueva clase de
Java I/O class (NIO, mejora el desempeo en las reas de manejo de buffers).
Las opciones de NIO buffer size y lazy conversin son idnticas al CSV file
input.
20
Las opciones provistas por la interfaz de Kettle para aceptar entradas de tablas
incluyen:
Nombre de Paso- este nombre debe ser nico para una transformacin.
Insertar datos de un paso- Especificar el nombre del paso de entrada del cual
vienen los parmetros para el SQL, si aplica.
Las opciones provistas por la interfaz de Kettle para aceptar entradas de Excel
incluyen:
21
Tab de Campos- Para especificar los campos que deben ser ledos de los
archivos de Excel.
Produce una cantidad de filas, por defecto vacas, pero con la opcin de
contener una cantidad de campos estticos.
Las opciones provistas por la interfaz de Kettle para generar filas incluye:
Campos- Campos estticos que un usuario querr incluir en las filas de salida.
22
5. Elegiremos los campos en este caso seran las dimensiones de nuestro modelo
dimensional.
23
8 SALTOS
Cuando un paso manda salidas a ms de un salto, los datos pueden ser copiado
a cada salto o distribuirlo entre ellos
Figura 5. Saltos
Antes de definir mapeos de fuentes, la base de datos destino debe ser diseada
Los esquemas de estrella destino deben ser diseados para satisfacer los
requerimientos de procesamiento.
24
2. Las opciones provistas por la interfaz de Kettle para generar salidas de tablas,
adems de aquellos provistos para aceptar entrada de tablas:
Tabla destino
Tamao de commit
Truncar tabla
Ignorar errores de insercin
Particionar datos sobre tablas
Usar actualizaciones de lote para inserciones
Retornar clave auto-generada
Nombrar campo clave auto-generado
Es el nombre de la tabla definida en un campo
Nombre de la Hoja
File Name
25
Parent element
Fields
Zipped
Encodig
Rango de fecha inicial: Este es el nombre del campo que contiene la fecha de
comienzo de validez.
Rango de fecha Final: Este es el nombre del campo que contiene la fecha de
terminacin de validez.
Claves: Estas son las claves usadas en los sistemas fuentes, como el nmero
de cliente, identificador del producto, etc. Estos son usados para
funcionalidades de consulta
26
27
Hacemos los mismo pasos que crear una conexin de origen solo que esta vez ser
destino si deseamos la podemos crear en la misma base de datos sin crearemos otra
base para guardar lo que ser el modelo dimensional.
28
2. Una vez pegado el icono en el rea de trabajo le damos doble clic y se nos
abrir la siguiente pantalla donde modificamos lo siguiente:
Ubicacin:
Contenido
Conexin
Tabla destino
Pasos a Seguir
Deberemos marcar la opcin VACIAR TABLA porque en este momento se
encontrara llena con los datos de la base de datos y para comprobar su
transformacin haremos un query desde la base de datos para eliminar los datos de la
tabla y esta nueva tabla dm_clientes_dim se llenara en el proceso de transformacin.
29
12.1
12
12.2
30
Manejo de excepciones.
31
Crea los archivos DDL (Database definition Language) para la creacin de tablas o
inserciones en las mismas. (Usualmente tablas e ndices)
El botn SQL en la barra de herramientas crea los DLLs necesarios.
13. EJECUCIN DE UNA TRANSFORMACIN O TRABAJO
32
Descripcin
Habilitar
modo seguro
Nivel de
Registro
log.
Fecha de
Ejecucin
Transformacin o Trabajo.
Esta tabla permite establecer los valores de los argumentos a
Parmetros
Variables
33
Los diferentes valores que pueden utilizarse para Nivel de Registro son los siguientes:
Error
Nothing
Minimal
Basic
Detailed
Debug
Row level
34
Hacemos la seleccin de datos con cada una de las dimensiones y luego procedemos
a cargarlas al Datamart.
35
Ubicacin:
Contenido
Empresa
Entrada
Dm_empresa_dim
Salida
Pasos a Seguir
Una vez que tenemos nuestro diseo aqu, procedemos a ejecutar esta
transformacin y nos podemos dar cuenta en la parte de abajo el llenado de los
datos.
36
SELECT
distinct
codalm
, nomalm
37
SELECT
codven
, nomven
38
SELECT distinct
codcli
, nomcli
, dircli
, ciucli
39
SELECT distinct
codart, nomart,prec01, prec02, prec03, prec04,b.codcla,nomcla
FROM articulos a,clasesarticulos b
where a.codcla=b.codcla
and a.codemp='02';
40
select c.codemp,
a.fecfac as Fecha,
d.codalm,
e.codven,
f.codcli,
g.codart,
b.cantid as cantidad_Vendidas,
(b.preuni*b.cantid) as Ventas_Brutas,
(((b.preuni*b.cantid) *b.desren)/100) as Valor_descuento,
(b.totren)as Total_con_Desc,
(a.totfac)as Total_Venta
where c.codemp=a.codemp
and a.numfac=b.numfac
and d.codalm=a.codalm
and e.codven=a.codven
and f.codcli=a.codcli
and g.codart=b.codart
GROUP BY
41
42
43
Este manual, va dirigido para la parte tcnica que necesiten hacer un cubo de
informacin para luego hacer un anlisis OLAP
16 EJECUCION DE SCHEMA WORBENCH
Lo primero que debemos hacer es descargar Mondrian Schema Workbench de la
pgina de la comunidad: http://sourceforge.net/projects/mondrian/files
PARA LINUX:
http://sourceforge.net/projects/mondrian/files/schema%20workbench/3.1.1stable/psw-ce-3.1.1.12687.tar.gz/download
PARA WINDOWS:
http://sourceforge.net/projects/mondrian/files/
http://sourceforge.net/projects/mondrian/files/schema%20workbench/3.2.0stable/psw-ce-3.2.0.13661.zip/download
Una vez descargado damos clic en su archivo en este caso estamos trabajando con
Windows
44
45
BARRA DE HERRAMIENTAS
Cortar
Copiar
Pegar
Borrar
Mostrar XML
46
Mostrar XML
Cambia el panel de Edicin de atributos en una salida en texto del XML al
cual el objeto configurado representa.
Muy til para ver que tipo de XML est siendo generado por el Workbench
Genera el XML al nivel que est siendo marcado en la estructura.
EDICION DE ATRIBUTOS
1. Especifico al contexto.
Lo que est marcado en la estructura es lo que se esta editando
2. Los campos disponibles depende del tipo de objeto.
El objeto Tabla (Table) tiene Name (Nombre), Schema (Esquema),
Alias
Corresponde directamente a los pares atributo= valor en XML
47
48
Una vez que hemos hecho lo anterior procedemos a ubicarnos en el Menu Tools y
damos clic en Connection y llenaremos los siguientes datos.
Ubicacin:
Contenido
com.jdbc.mysql.Driver
Connection URL:
jdbc:mysql://localhost:3306/
[nombre de la base de datos]
User Name:
Password:
Pasos a Seguir
Luego de haber configurado lo anterior damos clic en TEST para ver si la
conexin se realizo con xito y damos clic en Accept y nos saldr el mensaje
de Database Connection successful.
49
Diseo de esquemas
Disear Dimensiones, Cubos, Medidas, Agregados, Seguridad, etc.
Consulta MDX
Permite al usuario ejecutar una consulta MDX y observar resultados
Explorador JDBC
Navega la estructura de la base de datos
20 UN NUEVO CUBO
Damos clic al botn que apunta el cursor (Add Cube) y se crea un cubo.
50
21 CREACIN DE CUBOS.
Al crear el Cubo, le indicaremos un nombre y una descripcin, pudiendo marcar
adems las opciones cache (para que Mondrian trabaje con cache en este cubo) y la
opcin enabled (para que el cubo sea visible. Si no est marcado este flag, el cubo no
aparecer)
51
52
Dimensin
Jerarqua
Nivel
Mtricas
En esta imagen se puede apreciar como una vez seleccionado el nodo Table a la
izquierda, se muestran a la derecha un conjunto de campos, entre los cuales est
53
Como
En esta imagen se muestra una vez que creamos la dimensin New Dimension 0
tiene en su interior a Hierarchy (Jerarqua), quien a su vez contiene un Table,
siempre ha sido til ir configurando estas estructuras compuestas, desde adentro
hacia afuera, por lo que el modo de configuracin es el siguiente.
54
21.4 Jerarqua
Luego procedemos a configurar la Jerarqua,
Nos
ubicamos
en
Hierarchy
(Jerarqua),
en
el
campo
name
55
Una vez establecida la conexin entre las tablas mencionadas, pero no hemos
establecido que campo(s) son los que mostraremos.
21.5 Nivel
Para esto nos ubicamos en Hierarchy y damos clic derecho y seleccionamos
Add Level ( agregar Nivel)
56
21.6 Mtricas
Con el icono de Agregar mtrica agregamos mtricas
Luego en la parte derecha, nos podemos fijar que tenemos que escribir o seleccionar
estos datos principales:
Ubicacin:
Contenido
Name:
Nombre de la mtrica
Aggregator
Column
Pasos a Seguir
Tambin hay la opcin visible, la cual le damos clic para que este visible al
momento de publicar el cubo.
57
58
59
60
<Table name="dm_vendedores_dim">
</Table>
<Level name="Nombre Vendedores" table="dm_vendedores_dim"
column="nomven" nameColumn="nomven" type="String" uniqueMembers="false"
levelType="Regular" hideMemberIf="Never" description="Vendedores">
</Level>
</Hierarchy>
</Dimension>
<Dimension type="StandardDimension" foreignKey="codcli"
highCardinality="false" name="Clientes">
<Hierarchy name="Por Todos Clientes" hasAll="true" primaryKey="codcli"
description="Clientes">
<Table name="dm_clientes_dim">
</Table>
<Level name="Ciudad Clientes" table="dm_clientes_dim" column="ciucli"
nameColumn="ciucli" type="String" uniqueMembers="false" levelType="Regular"
hideMemberIf="Never">
</Level>
<Level name="Clientes" table="dm_clientes_dim" column="nomcli"
nameColumn="nomcli" type="String" uniqueMembers="false" levelType="Regular"
hideMemberIf="Never">
</Level>
</Hierarchy>
</Dimension>
<Dimension type="StandardDimension" foreignKey="codart"
highCardinality="false" name="Productos">
<Hierarchy name="Por Todos Articulos" hasAll="true" primaryKey="codart"
description="Articulos">
<Table name="dm_productos_dim">
</Table>
61
62
Aca buscamos:
<publisher-config>
<publisher-password></publisher-password>
</publisher-config>
63
64
Una vez configurado lo anterior nos aparecer la siguiente ventana en la cual si nos
damos cuenta en la parte de Pentaho or JNDI Data Source es el mismo nombre que le
dimos a nuestra conexin cuando la creamos en la Consola Administrativa.
65
66
67
Pentaho
Report
Designer
puede
ser
descargado
desde
la
pgina
http://sourceforge.net/projects/pentaho/files/Report%20Designer/3.6.1-stable/prdsource-3.6.1-stable.zip/download
Esta direccin web es para descargar el Report Designer para Windows pero en la
misma pgina podemos descargarnos la aplicacin si estamos trabajando con LINUX
prd-ce-3.6.1-stable.tar.gz
68
69
Barra de Men: En esta barra encontraremos algunos mens como File donde
podremos crear nuevos reportes o Edit que contiene opciones para deshacer o copiar.
70
Cuadro de Propiedades: Aqu podremos ver y modificar, segn sea conveniente, las
propiedades de un elemento seleccionado.
71
72
i
g
u
r
a
27. Tipos de grficos
1.
2.
3.
4.
5.
72
73
Bajo este nodo son todos los elementos del informe, visuales y no visuales,
disponibles actualmente.
73
74
encabezado del informe, aqu podemos escribir el titulo del reporte, la fecha del
reporte.
No hay datos: Todos los elementos visuales agreg que la banda dispone de datos.
Informe de pie de pgina: De preferencia aqu se podr arrastrar el campo que forma
parte de una funcin.
Todos los elementos visuales Watermark: son marca de agua, podremos dibujar
cualquier elemento a nuestro gusto, y obviamente saldr como marca de agua en
nuestro
reporte.
74
75
Style Property
Propiedad
Visible
Paint
Background-Color
Font-underline
Subrayado de Texto
Vertical-text-alignment
New Report
75
76
Podemos usar el Report Wizard dando clic en el icono de la varita mgica, es una
herramienta muy til incluida desde la versin 1.6.0, agilita la creacin de reportes a
los usuarios para su diseo.
Abrimos el men File en la esquina superior izquierda y seleccionamos la opcin
Report Wizard
76
77
Escogemos Sample Query y se activa en la parte superior derecha un lpiz que nos
permite activar la conexin a la base de dato.
77
78
Luego aparece esta pantalla donde agregamos la conexin escogiendo otra vez la
opcin del lpiz, nos aparece la siguiente pantalla
78
79
Luego damos ok, nos ubicamos en el nombre nuestra conexin en este caso Ventas.
En esta ventana de la parte derecha en la parte superior, nos encontramos con un
signo ms.
Aqu escribimos el nombre nuestro query, y en la parte inferior del mismo lado
derecho escribimos o diseamos dicho query.
79
80
1. Una vez que elegimos las tablas seleccionamos los campos a graficar
2. De lado izquierdo podemos apreciar los campos seleccionados, solo con
arrastrarlos los podemos ubicar como deseemos.
3. Tambin podemos seleccionar el campo que deseemos agrupar con solo dar
clic derecho como se ve en el grfico.
4. Damos clic en visualizar o sino en OK
Aqu podemos ver el query que hemos creado en el paso anterior con solo seleccionar
los campos que deseemos y presionamos ok.
80
81
En este paso aqu agrupamos segn el campo que elegimos en nuestra consulta.
Si presionamos Next, podremos cambiar de nombre al campo.
81
82
82
83
Al abrir Add Function nos aparecer las principales funciones que podremos
agregar, como son:
Common
Report
Summary
Running
Advanced
Char Data
Image
Script
Deprecated
83
84
84
85
85
86
A lo que damos clic en add where condition se nos abrir la siguiente ventana en la
cual escribimos el ao 2001 pero como ya se indico este campo cambiar porque ser
parametrizado.
En este query seleccionamos la opcin Distinct para que nos aparezcan todas las
posibles opciones de ese campo.
86
87
87
88
88
89
Es decir que solo habamos elegido para presentar datos del 2001 pero ahora como va
a ser parametrizable, nuestro query quedar de esta manera:
89
90
90
91
91
92
Data Sets
92
93
En esta opcin, nos permite crear la conexin, explicada anteriormente, solo elegimos
nuestra conexin y editamos y seguimos los pasos COMO CREAR UN QUERY
PARA ELABORAR UN REPORTE.
34 PUBLICANDO UN REPORTE
1. Damos clic en File | Publish
2. Luego nos aparecer la ventana siguiente
93
94
7. Y nos saldr que el reporte ha sido publicado y ahora podemos entrar desde la
Consola de Usuario para poder ver los reportes publicados.
94
95
95
96
QUERY GENERAL:
SELECT
`dm_tiempo_dim`.`Anio`,
`dm_empresa_dim`.`nomemp`,
`dm_almacenes_dim`.`nomalm`,
`dm_productos_dim`.`codart`,
`dm_productos_dim`.`nomart`,
`dm_ventas2`.`cantidad_Vendidas`,
`dm_ventas2`.`Ventas_Brutas`,
`dm_ventas2`.`Valor_descuento`,
`dm_ventas2`.`Total_con_Desc`,
96
97
`dm_ventas2`.`Total_Venta`,
`dm_clientes_dim`.`nomcli`
FROM
`dm_ventas2` INNER JOIN `dm_tiempo_dim` ON `dm_ventas2`.`Fecha` =
`dm_tiempo_dim`.`Fecha`
INNER JOIN `dm_productos_dim` ON `dm_ventas2`.`codart` =
`dm_productos_dim`.`codart`
INNER JOIN `dm_almacenes_dim` ON `dm_ventas2`.`codalm` =
`dm_almacenes_dim`.`codalm`
INNER JOIN `dm_empresa_dim` ON `dm_ventas2`.`codemp` =
`dm_empresa_dim`.`codemp`
INNER JOIN `dm_clientes_dim` ON `dm_ventas2`.`codcli` =
`dm_clientes_dim`.`codcli`
WHERE
`dm_tiempo_dim`.`Anio` = ${tiempo}
AND `dm_almacenes_dim`.`nomalm` = ${almacen}
AND `dm_ventas2`.`Total_Venta` >= ${monto}
GROUP BY
`dm_almacenes_dim`.`nomalm`,
`dm_productos_dim`.`codart`
ORDER BY
`dm_ventas2`.`Total_Venta` asc
1er parmetro:
Tiempo:
SELECT DISTINCT
`dm_tiempo_dim`.`Anio`
FROM
97
98
`dm_tiempo_dim`
Almacen:
SELECT DISTINCT
`dm_almacenes_dim`.`nomalm`
FROM
`dm_almacenes_dim`
Monto:
SELECT DISTINCT
`dm_ventas2`.`Total_Venta`
FROM
`dm_ventas2`
98
99
99
100
QUERY GENERAL:
SELECT
sum(`dm_ventas2`.`Ventas_Brutas`) AS Ventas_Brutas,
sum(`dm_ventas2`.`Total_Venta`) AS Total_Venta,
`dm_empresa_dim`.`nomemp`,
`dm_clientes_dim`.`nomcli`,
`dm_clientes_dim`.`ciucli`,
`dm_tiempo_dim`.`Anio`,
`dm_ventas2`.`Total_Venta`,
`dm_ventas2`.`Ventas_Brutas`
FROM
100
101
JOIN
`dm_tiempo_dim`
ON
`dm_ventas2`.`Fecha`
`dm_ventas2`.`codemp`
`dm_tiempo_dim`.`Fecha`
INNER
JOIN
`dm_empresa_dim`
ON
`dm_empresa_dim`.`codemp`
WHERE
`dm_ventas2`.`Total_Venta` >= ${valor}
AND `dm_tiempo_dim`.`Anio` = ${tiempo}
GROUP BY
`dm_clientes_dim`.`nomcli`,
`dm_clientes_dim`.`ciucli`
ORDER BY
`dm_ventas2`.`Total_Venta` ASC
Tiempo:
SELECT DISTINCT
`dm_tiempo_dim`.`Anio`
FROM
`dm_tiempo_dim`
Valor:
SELECT
`dm_ventas2`.`Total_Venta`
FROM
`dm_ventas2`
101
102
PARAMETROS ASIGNADOS
102
103
QUERY GENERAL:
SELECT
`dm_empresa_dim`.`nomemp`,
`dm_tiempo_dim`.`Anio`,
`dm_ventas2`.`Total_Venta`,
`dm_ventas2`.`Ventas_Brutas`,
`dm_almacenes_dim`.`nomalm`,
`dm_ventas2`.`Valor_descuento`,
`dm_ventas2`.`Total_con_Desc`,
`dm_productos_dim`.`nomart`,
`dm_productos_dim`.`codart`,
103
104
`dm_ventas2`.`cantidad_Vendidas`,
`dm_productos_dim`.`nomcla`
FROM
`dm_ventas2` INNER JOIN `dm_tiempo_dim` ON `dm_ventas2`.`Fecha` =
`dm_tiempo_dim`.`Fecha`
INNER JOIN `dm_empresa_dim` ON `dm_ventas2`.`codemp` =
`dm_empresa_dim`.`codemp`
INNER JOIN `dm_almacenes_dim` ON `dm_ventas2`.`codalm` =
`dm_almacenes_dim`.`codalm`
INNER JOIN `dm_productos_dim` ON `dm_ventas2`.`codart` =
`dm_productos_dim`.`codart`
WHERE
`dm_tiempo_dim`.`Anio` = ${tiempo}
AND `dm_almacenes_dim`.`nomalm` = ${almacen}
AND `dm_productos_dim`.`nomcla` = ${clase}
AND `dm_ventas2`.`Valor_descuento` > 0
GROUP BY
`dm_productos_dim`.`nomcla`,
`dm_productos_dim`.`nomart`
ORDER BY
`dm_ventas2`.`Total_Venta` DESC
Tiempo:
SELECT DISTINCT
`dm_tiempo_dim`.`Anio`
FROM
`dm_tiempo_dim`
Clase:
SELECT DISTINCT
`dm_productos_dim`.`nomcla`
104
105
FROM
`dm_productos_dim`
Almacen:
SELECT DISTINCT
`dm_almacenes_dim`.`nomalm`
FROM
`dm_almacenes_dim`
PARAMETROS ASIGNADOS
105
106
LISTADO COMPARATIVO
106
107
QUERY GENERAL:
SELECT
`dm_empresa_dim`.`nomemp`,
`dm_almacenes_dim`.`nomalm`,
`dm_tiempo_dim`.`Anio`,
`dm_ventas2`.`Total_Venta`,
sum(`dm_ventas2`.`Total_Venta`) AS Total_Venta
FROM
`dm_empresa_dim`
INNER
JOIN
`dm_ventas2`
ON
`dm_empresa_dim`.`codemp` = `dm_ventas2`.`codemp`
INNER
JOIN
`dm_almacenes_dim` ON
`dm_ventas2`.`codalm` =
`dm_almacenes_dim`.`codalm`
INNER
JOIN
`dm_tiempo_dim`
ON
`dm_ventas2`.`Fecha`
`dm_tiempo_dim`.`Fecha`
GROUP BY
`dm_almacenes_dim`.`nomalm`,
`dm_tiempo_dim`.`Anio`
PARAMETROS ASIGNADOS
No contiene parametros este reporte.
107
108
108
109
QUERY GENERAL:
SELECT
`dm_tiempo_dim`.`Anio`,
`dm_empresa_dim`.`nomemp`,
`dm_productos_dim`.`nomcla`,
`dm_almacenes_dim`.`nomalm`,
`dm_productos_dim`.`codart`,
`dm_productos_dim`.`nomart`,
`dm_ventas2`.`cantidad_Vendidas`
FROM
`dm_ventas2` INNER JOIN `dm_tiempo_dim` ON `dm_ventas2`.`Fecha` =
`dm_tiempo_dim`.`Fecha`
INNER
JOIN
`dm_productos_dim`
ON
`dm_ventas2`.`codart`
ON
`dm_ventas2`.`codalm`
`dm_ventas2`.`codemp`
`dm_productos_dim`.`codart`
INNER
JOIN
`dm_almacenes_dim`
`dm_almacenes_dim`.`codalm`
INNER
JOIN
`dm_empresa_dim`
ON
`dm_empresa_dim`.`codemp`
WHERE
`dm_tiempo_dim`.`Anio` = ${tiempo}
AND `dm_ventas2`.`cantidad_Vendidas` = ${cantidades}
GROUP BY
`dm_almacenes_dim`.`nomalm`,
`dm_productos_dim`.`nomcla`,
`dm_productos_dim`.`nomart`,
`dm_productos_dim`.`codart`
TIEMPO
SELECT DISTINCT
`dm_tiempo_dim`.`Anio`
109
110
FROM
`dm_tiempo_dim`
CANTIDAD
SELECT DISTINCT
`dm_ventas2`.`cantidad_Vendidas`
FROM
`dm_ventas2`
PARAMETROS ASIGNADOS
El 1er parametro deberemo elegir el ao
El 2do parmetro escribiremos la cantidad exacta para saber que tipos de productos
han sido vendidos sobre la cantidad ingresada.
110
111
QUERY GENERAL:
SELECT
`dm_tiempo_dim`.`Anio`,
`dm_almacenes_dim`.`nomalm`,
`dm_vendedores_dim`.`nomven`,
`dm_empresa_dim`.`nomemp`,
`dm_vendedores_dim`.`codven`,
`dm_ventas2`.`Ventas_Brutas`,
sum(`dm_ventas2`.`Ventas_Brutas`) AS Ventas_Brutas
FROM
`dm_ventas2` INNER JOIN `dm_tiempo_dim` ON `dm_ventas2`.`Fecha` =
`dm_tiempo_dim`.`Fecha`
INNER JOIN `dm_almacenes_dim` ON `dm_ventas2`.`codalm` =
`dm_almacenes_dim`.`codalm`
111
112
TIEMPO:
SELECT DISTINCT
`dm_tiempo_dim`.`Anio`
FROM
`dm_tiempo_dim`
ALMACEN:
SELECT DISTINCT
`dm_almacenes_dim`.`nomalm`
FROM
`dm_almacenes_dim`
MONTO:
SELECT
`dm_ventas2`.`Ventas_Brutas`
112
113
FROM
`dm_ventas2`
PARAMETROS ASIGNADOS
113
114
QUERY GENERAL:
SELECT
sum(`dm_ventas2`.`Ventas_Brutas`) AS Ventas_Brutas,
`dm_tiempo_dim`.`Anio`,
`dm_empresa_dim`.`nomemp`,
`dm_almacenes_dim`.`nomalm`,
`dm_productos_dim`.`codart`,
`dm_productos_dim`.`nomart`,
`dm_ventas2`.`cantidad_Vendidas`,
`dm_ventas2`.`Ventas_Brutas`,
`dm_clientes_dim`.`nomcli`,
`dm_clientes_dim`.`ciucli`,
`dm_vendedores_dim`.`nomven`
FROM
114
115
JOIN
`dm_productos_dim`
ON
`dm_ventas2`.`codart`
`dm_productos_dim`.`codart`
INNER
JOIN
`dm_almacenes_dim` ON
`dm_ventas2`.`codalm` =
`dm_almacenes_dim`.`codalm`
INNER
JOIN
`dm_empresa_dim`
ON
`dm_ventas2`.`codemp`
`dm_ventas2`.`codcli`
`dm_empresa_dim`.`codemp`
INNER
JOIN
`dm_clientes_dim`
ON
`dm_clientes_dim`.`codcli`
INNER JOIN `dm_vendedores_dim` ON `dm_ventas2`.`codven` =
`dm_vendedores_dim`.`codven`
WHERE
`dm_tiempo_dim`.`Anio` = ${tiempo}
AND `dm_almacenes_dim`.`nomalm` = ${almacen}
AND `dm_ventas2`.`cantidad_Vendidas` >= ${cantidad}
AND `dm_clientes_dim`.`ciucli` = ${ciudad}
GROUP BY
`dm_clientes_dim`.`nomcli`
ORDER BY
`dm_ventas2`.`cantidad_Vendidas` ASC
TIEMPO:
SELECT DISTINCT
`dm_tiempo_dim`.`Anio`
FROM
`dm_tiempo_dim`
115
116
ALMACEN
SELECT DISTINCT
`dm_almacenes_dim`.`nomalm`
FROM
`dm_almacenes_dim
CANTIDAD:
SELECT DISTINCT
`dm_ventas2`.`cantidad_Vendidas`
FROM
`dm_ventas2`
CIUDAD:
SELECT DISTINCT
`dm_clientes_dim`.`ciucli`
FROM
`dm_clientes_dim`
PARAMETROS ASIGNADOS
El 1er parametro deberemos elegir el ao
El 2do parmetro deberemos elegir el nombre del Almacn
El 3er parmetro escribiremos desde que cantidad de artculos fueron comprados
por cierto Cliente.
El 4to parmetro elegimos de la ciudad determinada a visualizar.
116
117
117
118
QUERY GENERAL:
SELECT
sum(`dm_ventas2`.`Ventas_Brutas`) AS Ventas_Brutas,
sum(`dm_ventas2`.`Total_Venta`) AS Total_Venta,
`dm_empresa_dim`.`nomemp`,
`dm_clientes_dim`.`nomcli`,
`dm_clientes_dim`.`ciucli`,
`dm_tiempo_dim`.`Anio`,
`dm_ventas2`.`Total_Venta`,
`dm_ventas2`.`Ventas_Brutas`
FROM
`dm_ventas2` INNER JOIN `dm_clientes_dim` ON `dm_ventas2`.`codcli` =
`dm_clientes_dim`.`codcli`
INNER
JOIN
`dm_tiempo_dim`
ON
`dm_ventas2`.`Fecha`
ON
`dm_ventas2`.`codemp`
`dm_tiempo_dim`.`Fecha`
INNER
JOIN
`dm_empresa_dim`
`dm_empresa_dim`.`codemp`
WHERE
`dm_ventas2`.`Total_Venta` >= ${valor}
AND `dm_tiempo_dim`.`Anio` = ${tiempo}
GROUP BY
`dm_clientes_dim`.`ciucli`
ORDER BY
`dm_ventas2`.`Total_Venta` ASC
TIEMPO:
SELECT DISTINCT
`dm_tiempo_dim`.`Anio`
FROM
118
119
`dm_tiempo_dim`
VALOR:
SELECT
`dm_ventas2`.`Total_Venta`
FROM
`dm_ventas2`
PARAMETROS ASIGNADOS:
En el 1er parametro deberemos elegir el ao.
En el 2do parmetro deberemos escribir el Valor Total para ver que clientes de cierta
ciudad nos estn comprando ms.
119
120
37 NOTA: Para que todo archivo sea publicado en el servidor BI tiene que estar
levantando el servidor (script: start Pentaho y set-pentaho-java) caso contrario nos
aparecer error al momento de hacer una publicacin
120
121
MANUAL DE USUARIO
HERRAMIENTA DE BUSINESS
INTELLIGENCE
PENTAHO
121
122
1 INTRODUCCION AL USUARIO
Este manual, va dirigido a los usuarios que manipulan la Consola de Usuario de BI
para que puedan visualizar la informacin desde el Cubo de Informacin y reportes
necesarios.
2 EJECUCION DE BISERVER-CE
viene incorporado : biserver-ce
Administration-Console
122
123
123
124
124
125
125
126
Cuando recin se empieza a levantar esta consola damos clic en PENTAHO USER
CONSOLE aqu el usuario predeterminado es Joe, pero ms a delante se explicara
para crear su propio usuario.
126
127
3 DATASOURCE
Un datasource es una conexin a una fuente de datos, en ste caso, una base de datos
MYSQL.
Al levantar la consola administrativa aqu podremos:
Crear usuarios
Crear Roles
Crear conexiones
127
128
4 CREAR USUARIO
Descripcin
Users Name
Nombre de Usuario
Password
Clave
Password Confirmation
Confirmacin de Clave
Descripcin
Comentario
Pasos a Seguir
Elegimos la pestaa Users, en el lado derecho estn los nombres de usuarios
disponibles. Para crear un usuario elegimos uno de ellos, nos ubicamos en el
signo ms (+) y se nos activara la siguiente ventana en donde escribiremos lo
descrito anteriormente.
128
129
Ubicacin:
Descripcin
Available
Roles disponibles
Assigned
Pasos a Seguir
1. Damos clic en roles, del lado izquierdo nos aparecer los roles y si le
damos a clic a un rol, nos aparecer del lado derecho el usuario se
encuentra en ese rol.
2. Para asignar un rol, damos clic de nuevo en el nuevo usuario creado o
sino al que deseamos asignarle roles.
3. Al seleccionar un usuario nos aparecer una ventana en la cual estar los
roles que le queremos asignar, solo dando clic en los botones de >, < y
damos clic en ok.
129
130
Descripcin
Name:
Driver Class
User Name
Password
Url:
Nombre de la Conexin
Driver, depende de la base de datos
De la base: root
proyecto
jdbc:mysql://localhost:3306/intermedi
asql
Direccin de Mysql, e intermediasql
es el nombre de la base de datos.
Nota:
3306 es el puerto donde est corriendo el motor MYSQL. No es necesario
ponerlo pero lo pongo para que sepan que si por alguna razn no estn usando
el puerto default de MYSQL, es ah donde tienen que cambiar los datos.
130
131
131
132
132
133
8.1 JPIVOT
JPivot es el cliente que vamos a utilizar para visualizar los resultados de los anlisis.
Para ejecutar un anlisis, podemos utilizar uno ya existente, o bien crear uno nuevo
desde la opcin Nueva vista de anlisis, momento en el que se nos pedir el esquema
y el cubo sobre el que queremos construirlo.
133
134
A continuacin, nos aparecer una tabla de JPivot, donde aparecern todas las
dimensiones de anlisis definidas en el cubo y con varias mtricas de resultados
totales.
134
135
Navegador
Olap
Editor MDX
Mostrar
padres
Ocultar
repeticiones
Suprimir
filas/columnas
Oculta las filas o columnas que no tuviesen valores.
vacas
Intercambiar
ejes
Detallar
miembro
Abrir detalle
Entrar en
detalle
135
136
Cuando entramos al cubo solo nos aparecer una mtrica por default
136
137
Navegador OLAP
A lo que damos clic en el Cubo, las columnas sern las Medidas y las Filas sern las
dimensiones.
A los que damos clic en Medidas se nos desplegara todas las medidas que hayamos
definido en el cubo en el Workbench, podemos seleccionar la medida deseada y
damos clic en Aceptar
137
138
En el mismo caso con las Dimensiones, podremos elegir y evaluar segn el dato que
contenga dicha dimensin.
138
139
Editor MDX
Aqu nos aparecer en cdigo las medidas y las filas seleccionadas
139
140
140
141
Para editar el Grafico seleccionamos este icono y podremos hacerle algunos cambios.
141
142
142
143
Una Vez que hemos creado nuestro usuario y para ver los reportes creados:
143
144
144
145
145
146
146
147
Este reporte no contiene parmetros ya que solo presenta comparacin de ventas entre
los diferentes aos, segn el nombre del almacn
Los dos parmetros son Obligatorios sino se nos presentara el siguiente error:
147
148
Una vez que elegimos e ingresamos lo requerido, damos clic en View Report
148
149
149
150
150
151
151