Explotemos la Tecnología

Como filtrar valores en Yellowfin según el usuario que acceda al Sistema

1. Presentación

En este tutorial, aprenderemos a filtrar los datos dependiendo del usuario que acceda al sistema. Imaginemos que tenemos dos usuarios llamados test1 y test2. El primero sólo debe visualizar las tiendas de Barcelona y el segundo las tiendas de Madrid.

2. Asignar usuarios y valores al filtro

Para poder crear un filtro por usuario tenemos que configurar o modificar el Data Source. En el asistente de configuración del Data Source seleccionamos del apartado de seguridad: filtros fuente si.

Wizard Data Source

Al seleccionar Filtros fuente, se añade un paso extra al asistente de conexión. En el paso 2, vamos a crear el filtro. Lo que tenemos que hacer es crear un filtro y asociarle la tupla usuario valor a filtrar.

Crear filtro

Después de pulsar el botón Agregar, el sistema nos pregunta como deseamos crear el filtro. En este documento escogemos la primera opción (Manual Entry). Pulsamos el botón editar para empezar a crear nuestro filtro.

Filter Entry

 Nos aparecerá una ventana, que nos pide el nombre y código del filtro que deseamos crear. Lo agregamos y guardamos.

 

Configuración filtro

Asociaremos un filtro a una usuario y al valor por el que deseamos filtrar. La asociación con los usuarios la podemos hacer por nombre o por mail. Y como tipo de filtro escogemos el que hemos creado anteriormente y como Id de referencia el valor por el cual filtrar. En nuestro ejemplo sería:

  • Dirección de correo: test1@ticout.com
  • Tipo de filtro: Comunidad
  • Id de referencia: Barcelona

Filtro usuario

Ponemos una descripción del filtro y lo guardamos juntamente con la conexión.

 

3. Asociar un filtro a una vista

 En la vista indicamos sobre que campo se aplica el filtro y si deseamos aplicarlo sobre cualquier informe que se cree sobre esa vista. Vamos al paso 2 del asistente de la vista, seleccionamos la columna sobre la que aplicar el filtro y vamos a la pestaña Access.  En la lista de filtros escogemos el filtro que hemos creado en pasos anteriores y grabamos. Por ejemplo sobre la columna comunidad y usamos el filtro con nombre comunidad.

Wizard view

Pasamos al paso tres del asistente e indicamos que filtros por defecto deseamos, es decir, cualquier informe creado a partir de esta vista, de forma automática se le aplicara el filtro por usuario.

Wizard view

Activamos la vista y ahora todo informe que creemos a partir de esta vista, sólo verá los valores asociados con ese usuario.

 

4. Como hacer que el filtro no afecte a administradores

En caso de que deseemos, tener un administrador que no le afecte el filtro que hemos creado, tendremos que entrar la siguiente SQL a la bd que usa Yellowfin para guardar los reports.

insert into configuration (iporg, configtypecode, configcode, configdata) values (1, 'SYSTEM', 'SOURCEFILTERWILDCARD', '%')

 Y en el Data Source donde hemos indicado los filtros para los usuarios, filtro y valor, entraremos el usuario que queremos que pueda visualizar todos los datos y como Reference Id usamos %.