El objeto de búsqueda en QV

El otro día, tuve que explicar como funciona el objeto de búsqueda en Qlikview, había un cliente que no sabía utilizarlo para encontrar lo que quería. Normalmente para que la gente que está acostumbrada a utilizar cualquier objeto de estos es muy fácil añadir condiciones a la búsqueda y hacerla de un modo más avanzado, pero lo complicado es explicarlo después a esa gente que necesita usarlo.

Así que preparé una pequeña guía que luego también colgué en la comunidad Qlik.

Tenemos varios tipos de búsqueda (vamos a dejar de lado la búsqueda difusa, ya que es algo que no controlamos nosotros mismos directamente y Qlik se encarga de darnos los resultados).

  • Normal
  • Literal
  • Comodines
  • Condiciones
  • Combinaciones
  • Números

Para el ejemplo me he inventado estos valores de nombres telenovelescos (al final están las tablas inline):

  • Juan Antonio Pérez
  • Carlos Javier Rodríguez
  • Pablo Ruiz
  • Juan Javier Ruiz
  • Marta María López
  • José Jorge Pérez
  • Javier Jesús Domingo
  • Pablo Jabier Mínguez

Las cadenas de búsqueda que utilicemos estarán escritas en cursiva y negrita, si aparecen comillas es que hay que utilizarlas también.

Búsqueda Normal:

El el tipo que todo el mundo sabe utilizar, es como utilizar la operación “or” entre cada una de las palabras, si se escribe javier (las búsquedas no son case sensitive y no tienen en cuenta las tildes) los resultados serían:

  • Carlos Javier Rodríguez
  • Juan Javier Ruiz
  • Javier Jesús Domingo

Literal

Esta búsqueda es cuando se quiere buscar algo exacto, aunque no es necesario que se escriba la cadena entera, hay que respetar los espacios y se tiene que escribir entre comillas, como por ejemplo “Carlos Javier” tendría el siguiente resultado:

  • Carlos Javier Rodríguez

Comodines

Existen dos tipos de comodines, el asterisco y la interrogación (*, ?). El primer símbolo sustituye a una cadena y el segundo a un carácter alfanumérico,  Qlik no distingue entre “cifras y letras” en las búsquedas.

Por ejemplo, si queremos buscar un javier, pero que sea javier de primer nombre, tenemos que escribir javier*, con lo que el resultado será:

  • Javier Jesús Domingo

Pero si queremos que sea de segundo nombre, escribiremos * javier * con espacios entre los asteriscos y el nombre:

  • Carlos Javier Rodríguez
  • Juan Javier Ruiz

Y ahora queremos buscar a todos los Javieres, aunque tenemos la sospecha que la persona que graba los datos en la base de datos no controla mucho de ortografía, así que escribimos *ja?ier* y los resultados son:

  • Carlos Javier Rodríguez
  • Juan Javier Ruiz
  • Javier Jesús Domingo
  • Pablo Jabier Minguez

También podemos utilizar más de un interrogante, aunque hay que tener en cuenta que cada interrogante reemplaza un carácter distinto al espacio, no podemos utilizar *carl??* para encontrar a Carlos o Carla.

Condiciones

Tal vez necesitamos buscar un Pérez pero que no sea Juan, en este caso podemos utilizar los símbolos mas y menos (+, -), por ejemplo con perez -juan tendremos el siguiente resultado

  • José Jorge Pérez

También puede ser que queremos encontrar a un Pérez, pero que también se llame Juan, entonces +perez +juan:

  • Juan Antonio Perez

Combinaciones

A veces, tenemos que buscar algo utilizando más de una regla, para poder ponerlas todas, la solución es utilizar el símbolo de la pleca entera (|), por ejemplo si queremos buscar todos los Ruiz y todos los Javier que no son Jesús (cosas más raras me han pedido), tendríamos que escribir ruiz | javier -jesus, con el resultado:

  • Juan Javier Ruiz
  • Carlos Javier Rodriguez
  • Pablo Ruiz

Números

Para este ejemplo, hemos usado una tabla de números del 1 al 21.

Qlik, si no lo explicitamos, en las búsquedas, trata a los números como cadenas, por lo que si directamente escribimos un 1, lo que nos devolverá será todos los números que empiecen por uno, en nuestro caso el número 1 y del 10 al 19 (no nos devolvería el 21). Así que se aplica todo lo anterior, si queremos un número que contenga el 1, escribimos *1*. ¿Pero que pasa si queremos un número en concreto? en este caso el 1. Tenemos que escribir el número entre paréntesis, así si escribimos (1), tendremos el número 1.

También es posible utilizar desigualdades (matemáticas) como el mayor que, y el menor que (estrictas o no). Para buscar un número mayor de 5 >5  y si queremos obtener el 6 y el 7 podemos escribir >5 <=7 o >=6 <8

Espero que haya servido para algo el ladrillo que he soltado aquí 😉

Tablas para los ejemplos


LOAD * INLINE [
F1
Carlos Javier Rodríguez
Juan Antonio Pérez
Pablo Ruiz
Juan Javier Ruiz
Marta María Lopez
Jose Jorge Pérez
Javier Jesús Domingo
Pablo Jabier Mínguez
Carla Marta Francés
];

LOAD * INLINE [
F2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
];

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *