Toda cadena de búsqueda que empiece con el signo “=” será interpretada como una búsqueda de expresión
=Sum(Valor_Compra)>40000
Si utilizas esta cadena en un campo listando clientes, seleccionara aquellos clientes que tienen un valor total de compras mayor a 40000. Esto significa que el motor de Qlik creara un hipercubo (el mismo que tendrías en un gráfico) que tendrá a los clientes como dimensión y a Sum(Valor_Compra) > 40000 como medida, para luego utilizarlo para determinar el resultado de la búsqueda
Puedes utilizar la misma cadena
de búsqueda en cualquier otro campo, como en productos, meses o años, pero los
resultados serán diferentes, así como diferentes gráficos te mostrarían
diferentes números
Existen muchas implicaciones con
lo escrito arriba, implicaciones que tienes que tomar en cuenta para hacer un uso correcto de las expresiones de búsqueda
Primero, un hipercubo se basa por
lo normal en la selección actual, lo que
significa que la búsqueda no incluirá valores excluidos. Esto es diferente de
la búsqueda de comodín (wildcard search) o de la búsqueda numérica, en donde la búsqueda es realizada en la
tabla de símbolos, que contiene todos los valores, además de los excluidos. Si
deseas abarcar valores excluidos en tu búsqueda, necesitaras utilizar Set
Analysis en tu cadena de búsqueda
=Sum({1} Valor_Compra)>40000
Segundo, la cadena de búsqueda es una expresión booleana. Lo
que significa que puedes tener varios criterios
=Sum(Valor_Compra)>40000 or Count(distinct IdOrden)>100
Pero también significa que puedes simplificar tu expresión
teniendo en cuenta que todo los números que no sean cero son interpretados como
verdaderos. Como ejemplo, las siguientes dos expresiones son iguales:
=Count(if(Producto='Camisa', IdOrden))>0
=Count(if(Producto='Camisa', IdOrden))
Finalmente, una expresión de búsqueda implica una agregación. Esto significa que se debe usar una función de agregación, de lo contrario, la función Only() sera usada. Por ejemplo, si deseas buscar clientes de un país especifico, puedes escribir
=Pais='Brasil'
Esto funcionaria bien si cada cliente estuviera asociado solo con un país. Sin embargo, esto no funcionara si hay varios valores posibles por cliente. Por ejemplo, si en vez de lo anterior, buscas clientes que han comprado un producto especifico, pudieras escribir lo siguiente
=Producto='Camisa'
Con la cadena de búsqueda anterior probablemente encontraras algunos clientes, pero no los que estas buscando. Encontraras aquellos clientes que han comprado solo camisas y nada mas, dado que esa cadena de búsqueda es interpretada como Only(Productos) = 'Camisa'. Si deseas encontrar todos los clientes que compraron camisa y quizás otros productos, deberías entonces intentar una de las siguientes cadenas
=Count(if(Producto='Camisa', IdOrden))>0
=Count({$<Producto={'Camisa'}>} IdOrden)
=Index(Concat(distinct Producto, ','), 'Camisa')
=Sum(Producto='Camisa')
Se admite que las expresiones de arriba no son nada simples, pero sin embargo es así como funcionan este tipo de búsquedas en QlikView
Si se desea una manera mas simple de encontrar estos clientes, lo que se tiene que hacer es manualmente seleccionar el valor de campo "camisa" del cuadro de lista de "Productos" y luego observar la lista de clientes
Comentarios
Publicar un comentario