Quantcast
Channel: Oracle Blog : apex
Viewing all articles
Browse latest Browse all 142

Filtrar Informes Interactivos con parámetros en la URL de APEX

$
0
0

Los Informes Interactivos son muy potentes y ahora mucho más en esta versión 5.0 de Apex que nos permite tener en una sola página múltiples Informes Interactivos, una característica muy solicitada por los desarrolladores desde hace mucho tiempo.

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.

Si quieres refrescar la memoria y conocer cómo es la sintaxis de la URL en Apex, te invito a que leas este artículo.

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)

Demo

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.

Abrimos el Destino y colocamos los siguientes datos:

- Página: 2

- Borrar Cache: '2,CIR'

- Definir Elementos:

Nombre: IR[EMP]_DEPTNO

Valor: #DEPTNO#

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

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 SALES.

De esta forma al hacer clic en cualquiera de los departamentos se filtrará el informe interactivo de Empleados mostrando los Empleados que pertenecen al Departamento seleccionado.

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.

Hasta Pronto!!!


Viewing all articles
Browse latest Browse all 142


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>