Los Informes Interactivos son muy potentes que nos permite tener en una sola página múltiples Informes Interactivos, una característica que fue implementada en versiones anteriores y fue muy solicitada por los desarrolladores.

¡Gracias al gran poder de los Informes Interactivos el usuario final puede crear filtros, añadir columnas calculadas, hacer agrupaciones, crear gráficos, crear divisiones de control, resaltar filas o celdas y mucho más!

En el caso de los desarrolladores muchas veces suele pasar que necesitan filtrar un informe interactivo por un valor determinado ya sea que se muestre en la misma página o se dirija a otra página mostrando el informe interactivo filtrado.

Para realizar esto es necesario que conozcamos cómo podemos filtrar nuestros Informes Interactivos con parámetros pasados a la URL.

Sintaxis para filtrar Informes Interactivos con Parámetros de la URL

Para filtrar un Informe Interactivo guardado necesitamos utilizar la sintaxis REQUEST

IR[region static ID]_<COLUMN_NAME>

Por ejemplo:

IR[EMP]_ENAME

Para crear un filtro usamos el Nombre del Elemento y el Valor del Elemento.

IR[region static ID]<operator>_<target column alias>

Por ejemplo:

IR[EMP]C_ENAME:KING

En el caso de que exista un solo IR en nuestra página no necesitamos usar el static ID, en caso contrario si tenemos más de un IR en nuestra página es obligatorio usar el static ID para identificar el IR correspondiente.

Por ejemplo:

IR[EMP]_ROWFILTER:SALES

Los operadores válidos son:

  • C = Contains
  • EQ = Equals (este es por defecto)
  • GTE = Greater than or equal to
  • GT = Greater Than
  • LIKE = SQL Like operator
  • LT = Less than
  • LTE = Less than or equal to
  • N = Null
  • NC = Not Contains
  • NEQ = Not Equals
  • NLIKE = Not Like
  • NN = Not Null
  • NIN = Not In (escape the comma separated values con barra invertida, \)
  • IN = In (escape the comma separated values con barra invertida, \)
  • ROWFILTER = Row Text Contains (esta busca en todas las columnas que se muestran en el informe con el tipo STRING o NUMBER)

Sintaxis de ClearCache del informe interactivo

Utilizamos la sección ClearCache de la URL de APEX para restablecer, borrar o restablecer la paginación del informe interactivo.

Si utilizamos ClearCache sin especificar un identificador estático del informe guardado en Request, se borra el cache del informe principal predeterminado. Para borrar una región de informe interactivo específica en una página con más de un informe interactivo, debemos especificar el ID estático de la región junto con el alias del informe guardado en Request.

Utilizamos la siguiente sintaxis en la sección de ClearCache de la URL para restablecer, borrar o restablecer la paginación del informe interactivo, según lo que deseamos hacer:

  • RR- Restablece un informe interactivo y una paginación. Esto equivale a que el usuario final elija la opción Restablecer en el menú Acciones del informe interactivo en la página de destino. El informe vuelve a la configuración de informe predeterminada especificada por el desarrollador o guardada por el usuario.
  • CR- Borra el informe interactivo y restablece la paginación. Esto borra todas las configuraciones del informe de sesión, como interrupción de control, agregado, flashback, gráfico, número de filas para mostrar, filtrar, resaltar, cálculo, agrupar por y pivotar.
  • RP- Restablece la paginación del informe interactivo.

Demostración

Vamos a crear en nuestra página en APEX dos regiones de tipo Informe Interactivo:

  • Región 1: Informe Interactivo de la tabla DEPT – select * from dept
  • Región 2: Informe Interactivo de la tabla EMP – select * from emp

Cada Informe Interactivo tendrá un Identificador estático que lo llamaremos DEPT y EMP.

El hecho de que podamos disponer de varios Informes Interactivos en una sola página en APEX nos permite muy fácilmente mostrar la información de nuestros reportes en distintas formas y aplicar diferentes tipos de filtros.

En este caso tenemos en la columna izquierda el IR de los Departamentos y en la columna de la derecha el IR  de los Empleados.

Podríamos por ejemplo insertar en la columna del nombre de los departamentos un enlace que filtre el informe interactivo de los empleados, es decir, al hacer clic en el nombre del departamento que el informe de empleados se filtre y muestre todos los empleados que pertenecen a dicho Departamento.

Para ello desde el diseñador de páginas vamos a la región del reporte interactivo de Departamentos:

Expandimos las columnas y seleccionamos la columna DNAME y en el panel de propiedades en la sección Identificación seleccionamos que el tipo sea Enlace.

Luego nos dirigimos a la sección Enlace y hacemos clic en el botón del Destino (Target).

Abrimos el Destino y colocamos los siguientes datos:

– Página: <el número de nuestra página, en mi caso 11>

– Borrar Cache: ‘11,RR,CR

– Definir Elementos:

Nombre: IR[EMP]_DEPTNO

Valor: #DNAME#

El nombre del elemento se refiere a IR[region static ID]_<COLUMN_NAME> y el valor es el valor de la columna DNAME.

Aceptamos los cambios y se cierra la ventana emergente.

Además debemos colocar el Texto del Enlace: #DNAME#

Ejecutamos la página y podemos ver el resultado, haciendo clic en el departamento RESEARCH.

Veamos como se va filtrando el reporte interactivo de empleados dependiendo el departamento que seleccionamos:

 

Como podemos ver, trabajar con los filtros a través de la URL es muy sencillo y podemos mostrar todo tipo de filtros en nuestros informes interactivos.

Para conocer más sobre este tema te dejo el enlace a la documentación AQUI.

¡Hasta Pronto!