Vous êtes sur la page 1sur 16

Creando y Usando Informes Interactivos en Oracle Application Express 5.

0
Por Clarisa Maman Orfali
Publicado en Enero 2016
Una de las grandes características que presenta Oracle APEX y que lo hace una
herramienta muy completa a la hora de desarrollar aplicaciones web basadas en la
base de datos Oracle, es la gran facilidad con que Apex nos permite, por su entorno
declarativo, desarrollar Informes modernos y de diferentes alcances para la
presentación de la información almacenada logrando con mínimo esfuerzo
aplicaciones web muy robustas.

El objetivo de este artículo es mostrar al lector algunas de las diferentes


funcionalidades que dispone en la creación de Informes Interactivos usando Oracle
Application Express.

Informes Clásicos Vs Informes Interactivos

Al crear una aplicación de base de datos, se puede incluir dos tipos de informes:
Informes Interactivos o Informes Clásicos. La principal diferencia entre ambos es
que el interactivo permite al usuario personalizar la apariencia de los datos a través
de la búsqueda, filtrado, ordenamiento, selección de columnas, resaltado de
columnas y otras formas de tratamiento de datos en tiempo de ejecución, mientras
que en el Informe Clásico no disponemos de esas funcionalidades.

Informe Clásico
Los informes clásicos tienen la funcionalidad de búsqueda de palabras claves en
general, además de la posibilidad de especificar el número de filas que se muestran
y la columna de ordenamiento básica.
Cuando se utiliza un informe clásico podemos ver 100 columnas empleando las
columnas del informe y podemos editar columnas adicionales utilizando la vista de
árbol o a través de la paginación del informe en Atributos de Columna.
Informe Interactivo
Los informes interactivos permiten a los usuarios finales crear informes altamente
personalizados, por eso es que se trabaja en tiempo de ejecución para crear dichas
personalizaciones. Podemos modificar el diseño del informe al ocultar o mostrar
columnas específicas, resaltar y ordenar las mismas o aplicar filtros. También
podemos definir puntos de control, agrupaciones, gráficos y añadir nuestros propios
cálculos. Una vez personalizado, el informe se puede guardar como un informe
primario, alternativo, privado o público.
Cada informe interactivo incluye una barra de búsqueda, un menú Acciones, un
menú de Encabezado de columna y una serie de iconos para editar en la primera
columna de cada fila.
Cuando se utiliza un informe interactivo se puede:
 Incluir múltiples informes interactivos por página. (nueva característica)
 Mostrar 100 columnas usando columnas del informe. Podemos editar las columnas
adicionales utilizando la vista de árbol o la paginación a través de los atributos del
informe de columnas.
 Mostrar un millón de filas usando el filtro de encabezado de columna (si no hay un
elemento LOV especificado en los atributos de columna).
 Incluir 999 filas usando el filtro de encabezado de columna (si no hay un elemento
LOV especificado en los atributos de columna).
Crear Aplicación Web de tipo Escritorio

Para este ejemplo vamos a crear una aplicación de Base de Datos en Apex,
haciendo lo siguiente:

1. Hacemos clic en el icono Creador de Aplicaciones.

2. Se abre la página del Creador de Aplicaciones y hacemos clic en el icono Crear

3. Se inicia el asistente de creación de la aplicación:

a. En la pantalla ¿Qué tipo de Aplicación desea Crear? hacemos clic en el


icono Escritorio y hacemos clic en el botón azul Siguiente.
b. En la pantalla Nombre, ingresamos el nombre de la aplicación, para el resto de los
valores lo dejamos por defecto.
 Nombre: Informes Interactivos Personalizados

 Hacemos clic en el botón azul Siguiente.


c. En la pantalla Páginas, eliminamos la página de Inicio haciendo clic en el botón de
la cruz (+) y creamos una página de tipo Informe:
 Origen de la Tabla: Tabla

 Nombre de la Tabla: DEMO_PRODUCT_INFO (tabla de la aplicación demo)


 Tipo de Informe: Interactiva
 Hacemos clic en el botón azul Agregar Página
 Luego, hacemos clic en el botón azul Siguiente
d. En la pantalla Componentes Compartidos, aceptamos el valor por defecto y
hacemos clic en el botón azul Siguiente.
e. En la pantalla Atributos, asignamos:

 Idioma de preferencia: Español (Estados Unidos) (es-us) [Indicar el idioma que


corresponda]
 Preferencia de Idioma de Usuario Derivada de: Idioma Primario de la Aplicación
 Hacemos clic en el botón azul Siguiente.
f. En la pantalla Confirmar, verificamos los datos ingresados y hacemos clic en el
botón azul Crear Aplicación.

Ejecutamos la aplicación y la página de inicio mostrará nuestro Informe Interactivo


recién creado.

Personalizar Informe Interactivo

Desde el Diseñador de Página 1, en la ficha de Presentación:

1. Hacemos clic con el botón derecho del ratón sobre la región de tipo Informe
Interactivo

2. En el panel derecho de propiedades de la Región, en la sección Identificación:

o Título: Informe de Productos


o Tipo: Informe Interactivo

3. En la sección Origen:
Consulta SQL
select p.product_id,
p.product_name,
p.product_description,
p.category,
decode(p.product_avail, 'Y','Yes','N','No') product_avail,
p.list_price,
(select sum(quantity) from demo_order_items where product_id = p.product_id)
units,
(select sum(quantity * p.list_price) from demo_order_items where product_id =
p.product_id) sales,
(select count(o.customer_id) from demo_orders o, demo_order_items t
where o.order_id = t.order_id and t.product_id = p.product_id group by p.product_id)
customers,
dbms_lob.getlength("PRODUCT_IMAGE") "Product_Image"
from demo_product_info p

Sobre la Función dbms_lob.getlength()


La función dbms_lob.getlength() se emplea para estimar el tamaño de la columna
BLOB en la tabla, cuya selección se hace para facilitar la inclusión del enlace de
descarga en el reporte. Si el length es 0, el BLOB es NULL y el enlace de descarga
no se mostrará. Nosotros en este caso no lo vamos a usar.

Sobre la Función DECODE


DECODE (expression, search, result [, search, result]…[,default])

De una expresión dada, la función busca el valor y lo traduce a un resultado.


Podemos tomar como ejemplo la siguiente consulta SQL:

SELECT DECODE (categoria_id, 1, 'Accesorios',


2, 'Mujer',
3, 'Hombre',
4, 'Niños',
5, 'Electrónicos',
'-') result
FROM demo_categorias

Para mayor comprensión de la forma en que es empleada la función DECODE


podemos decir que esta función puede ser escrita usando un conjunto de IF - THEN
– ELSE. Aunque cabe aclarar que, dentro de una consulta SQL, no podemos utilizar
las estructuras de control como el IF-THEN-ELSE. Por ello, la función DECODE es
muy usada en las consultas SQL y permite traducir una expresión a un valor de
retorno.

IF categoria_id = 1 THEN
result := 'Accesorios';
ELSEIF categoria _id = 2 THEN
result := 'Mujer';
ELSEIF categoria _id = 3 THEN
result := Hombre';
ELSEIF categoria _id = 4 THEN
result := 'Niños';
ELSEIF categoria _id = 5 THEN
result := 'Electrónicos';
ELSE
result := '-';
END IF;

4. Hacemos clic en el botón “Guardar”.

Editar Informe Productos en Tiempo de Ejecución

1. Hacemos clic en el botón “Ejecutar” de la Página 1.

2. Hacemos clic en el botón “Acciones” y luego seleccionamos la opción “Seleccionar


Columnas”.
3. Desde el recuadro Mostrar en Informe, movemos las columnas Product Id y Product
Description al recuadro No Mostrar (de esta forma podemos ocultar/mostrar las
columnas en el reporte interactivo).

4. Usando las flechas podemos ordenar las columnas como por ejemplo subiendo la
columna Product Image arriba de la lista.

5. Hacemos clic en el botón “Aplicar”.

Si deseamos editar los nombres de columnas del Informe Interactivo para que se
ajusten a nuestro idioma lo podemos hacer accediendo al Diseñador de Páginas y
desde el panel de la izquierda de Presentación seleccionamos la región de tipo
Informe Interactivo y expandimos las columnas para modificar los nombres de las
columnas visibles, colocando su nombre en el atributo Cabecera en la sección de
Cabecera del panel de la derecha en propiedades de la columna, por
ejemplo: Nombre, Categoría, Producto Disponible, Lista de Precios, Unidades,
Ventas, Clientes y Producto y guardamos los cambios haciendo clic en el botón
Guardar en la parte superior derecha de la página.
Mostrar Imagen de Producto en el Informe Interactivo

Desde el Panel de la izquierda en el Diseñador de Páginas, estando en la vista árbol


de Presentación, hacemos clic sobre la columna PRODUCT_IMAGE y pasamos al
panel de la derecha en propiedades de la columna en la sección Identificación, en
el atributo Tipo seleccionamos Mostrar Imagen.

En la sección Atributos BLOB seleccionamos:

 Nombre de Tabla: DEMO_PRODUCT_INFO


 Columna BLOB: PRODUCT_IMAGE
 Columna de Clave Primaria: PRODUCT_ID
Eliminar Columna de Enlace

Seleccionamos atributos del Informe en el panel de la izquierda y en propiedades


de los atributos en el panel de la derecha en Columna de Enlace seleccionamos
Excluir Columna de Enlace, del Informe Interactivo, posteriormente hacemos clic en
el botón Guardar.

Guardar Informe como Informe Primario


Para guardar el informe como un informe primario, debemos ejecutar la aplicación
para mostrar el informe en tiempo de ejecución y hacemos clic en el botón
“Acciones”, luego en Guardar Informe > Como Valores de Informe por Defecto:

 Seleccionar Primario
 Hacemos clic en el botón “Aplicar”.
Cada vez que necesitemos realizar un cambio en el informe interactivo y queramos
mantener dicho cambio tenemos que guardar el informe como un informe primario
por defecto. Si no realizamos esta operación, para la próxima vez que iniciemos
sesión se perderán todos los cambios.

Crear Reporte Alternativo

Los reportes alternativos nos permiten a los desarrolladores crear diferentes tipos
de reportes y solo el desarrollador puede guardar, renombrar o eliminar estos
informes.
En esta sección crearemos un informe alternativo llamado “Productos por
Categorías” que tendrá tres tipos de visualizaciones utilizando diferentes
herramientas para personalizar el Informe basado en el Informe Primario de
Productos.
Vista Informe

Desde la página 1, en estado de ejecución:

1. Hacemos clic en el botón “Acciones” y luego en Guardar Informe > Como Valores
de Informe por Defecto.

o Seleccionar Alternativo
o Nombre: Productos por Categorías
o Hacemos clic en el botón “Aplicar”.

2. Hacemos clic en el botón “Acciones”, luego en “Formato” y seleccionamos División


de Control:

o Columna: Categoría
o Estado: Activado
o Hacemos clic en el botón “Aplicar”.
La División de Control es una característica de agrupación que permite ser añadido
a una o más columnas del informe. Como en este caso hemos creado una división
de control en la columna de Categorías, en el informe se mostrará la agrupación de
los productos divididos por categorías.

3. Hacemos clic en el botón Acciones, luego en Formato y seleccionamos Resaltar

o Nombre: Ventas <= $ 1000


o Secuencia: 10
o Activado: Sí
o Tipo de Resaltado: Fila
o Color de Fondo: #FFFF99 [amarillo]
o Color de Texto: #000000 [negro]
o Condición para Resaltar
 Columna: Ventas
 Operador: <=
 Expresión: 1000
o Hacemos clic en el botón “Aplicar”.

4. Hacemos clic en el botón “Acciones”, luego en “Formato” y seleccionamos Resaltar:

o Nombre: Ventas >= $ 3000


o Secuencia: 20
o Activado: Sí
o Tipo de Resaltado: Fila
o Color de Fondo: #99FF99 [verde]
o Color de Texto: #000000 [negro]
o Condición para Resaltar
 Columna: Ventas
 Operador: >=
 Expresión: 3000
o Hacemos clic en el botón “Aplicar”.
5. Hacemos clic en el botón “Acciones”, luego en “Formato” y seleccionamos Resaltar:

o Nombre: Ventas entre $ 1000 y $ 3000


o Secuencia: 30
o Activado: Sí
o Tipo de Resaltado: Fila
o Color de Fondo: #99CCFF [azul]
o Color de Texto: #000000 [negro]
o Condición para Resaltar
 Columna: Ventas
 Operador: entre
 Expresión: 1000
 Y 3000
o Hacemos clic en el botón “Aplicar”.

6. Hacemos clic en el botón “Acciones”, luego en “Formato” y seleccionamos Ordenar:

o Columna: Ventas
o Dirección: Descendente
o Hacemos clic en el botón “Aplicar”.

El resultado del Informe Alternativo Productos por Categorías en la Vista Informe se


muestra a continuación:
Vista Gráfico

Nosotros podemos generar gráficos en nuestros informes interactivos que estén


basados en el resultado del informe.

En esta sección aprenderemos a crear un gráfico de barras que muestre los totales
de las ventas por producto.

Desde la Página 1 en estado de ejecución:

 Hacemos clic en el botón “Acciones”, luego en “Formato” y seleccionamos Gráfico:


o Tipo de Gráfico: Columna Vertical
o Etiqueta: Nombre
o Título del Eje para Etiqueta: Productos
o Valor: Ventas
o Título del Eje para Valor: Ventas
o Función: Suma de
o Ordenar: Valor - Ascendente
o Hacemos clic en el botón “Aplicar”.
Se ha creado el icono de la vista de Gráfico.

El resultado del Informe Alternativo Productos por Categorías en la Vista Gráfico se


muestra a continuación:
Recordemos que para mantener los cambios realizados debemos guardar el
informe desde Acciones > Guardar Informe.

Vista Ver Grupo por


Esta vista permite a los usuarios agrupar la información por una o más columnas.
Una vez definida la o las columnas de agrupación aparecerá el icono “Ver Grupo
por” en la barra de búsqueda del Informe Interactivo Alternativo.

Regresamos a la Vista Reporte del Informe Alternativo, haciendo clic en el icono


“Ver Informe” que está al costado izquierdo del ícono “Ver Gráfico”

1. Hacemos clic en el botón “Acciones”, seguidamente en “Formato” y seleccionamos


la opción “Agrupar por”.

2. En la grilla Agrupar por:

o Agrupar Grupo por Columna: 1. Categoría

o Fila 1
 Funciones: Suma de
 Columna: Ventas
 Etiqueta: Ventas
 Mascara de Formato: FML999G999G999G999G990D00

o Fila 2
 Funciones: Suma de
 Columna: Unidades
 Etiqueta: Cantidad de Productos
 Mascara de Formato: 999G999G999G999G999G999G990

o Hacemos clic en el botón “Aplicar”.


Se ha creado el icono de la vista Ver Grupo por

El resultado del Informe Alternativo Productos por Categoría en la vista Ver Grupo
Por se muestra a continuación:
Crear Columna Calculada en el Informe

En las funcionalidades de los informes interactivos también disponemos de la


creación de columnas por medio de cálculos a partir de otras columnas.

Veamos un ejemplo a continuación:

Seleccionamos el Informe Primario desde la lista de selección:


Vamos a crear una columna que muestre el total de ventas adicionado los impuestos
de ventas.

1. Hacemos clic en el botón Acciones, luego en Formato y seleccionamos Calcular

2. Cabecera de Columna: Ventas con Impuestos

3. Máscara de Formato: seleccionamos la moneda

4. Expresión de Cálculo: AR + (7 * (AR/100)) Nota: AR representa la columna Ventas


5. Hacemos clic en el botón Aplicar.

Podemos ver el resultado de la creación de la columna de cálculo en el Informe


Primario.

Finalmente si queremos mantener los cambios realizados necesitamos volver a


guardar el Informe como el Informe Primario.

Conclusión

Como podemos ver la personalización de los Informes Interactivos en Oracle Apex


es muy sencillo e intuitivo y cualquier usuario sin conocimientos en programación
puede crear informes altamente sofisticados para satisfacer y garantizar la toma de
decisiones en el día a día mostrando la información almacenada en nuestra base
de datos Oracle.

Hemos aprendido en este artículo:


 Como crear y guardar Informes Interactivos
 Cómo crear y guardar Informes Alternativos
 Crear las diferentes vistas de los Informes Interactivos: Vista Informe, Vista Gráfico
y la Vista Agrupar por
 Personalizar los Informes Interactivos usando columnas resaltadas, columnas
calculadas, filtros, formatos, etc.

Clarisa es fundadora y CEO de ClarTech Solutions Inc. Se ha convertido en Oracle


ACE hace algunos años, tiene más de 15 años de experiencia en el desarrollo y la
capacitación en tecnologías de la información. Hace unos años descubrió la belleza
de Oracle Application Express (APEX) y se ha especializado en esa área. Ella
también es una Co-Fundadora y Directora del Argentina Oracle User Group
(AROUG) y ha participado activamente en la organización de grandes y populares
eventos. Además ella es autora del primer libro en español sobre Oracle APEX
titulado “Introducción a Oracle APEX 5”. Ella tiene una gran pasión por las
tecnologías de Oracle y quiere ampliar esa pasión e influencia transfiriendo su
conocimiento y experiencia a la totalidad de las comunidades de Oracle América
Latina y en todo el mundo.

Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en


cumplimiento de las normas y prácticas para el uso de los productos Oracle

Vous aimerez peut-être aussi