Modificadores de conjunto

Un conjunto puede modificarse mediante una selección adicional o una modificada. Dicha modificación se puede escribir en la expresión de conjunto.

El modificador consta de uno o varios nombres de campo, cada uno de ellos seguido por una selección que debería efectuarse en el campo, todo ello enmarcado por signos de paréntesis angulares: < >. Por ejemplo: <Year={2007,2008},Region={US}>. Los nombres de campo y valores de campo se pueden citar como de costumbre, por ejemplo: <[Sales Region]={’West coast’, ’South America’}>.

Un modificador de conjunto modifica la selección del identificador de conjunto precedente. Si no se remite a ningún identificador de conjunto, se considera el estado de selecciones actual.

Hay varias maneras de definir la selección:

  • Basada en otro campo
  • Basada en conjuntos de elementos (una lista de valores de campo en el modificador)
  • Exclusión forzada

Estos métodos se describen en los subapartados siguientes.

Basada en otro campo

Un caso muy simple es una selección basada en los valores seleccionados de otro campo, por ejemplo <OrderDate = DeliveryDate>. Este modificador tomará los valores seleccionados de DeliveryDate y los aplicará como una selección en OrderDate. Si hay muchos valores distintos, más de varios cientos, entonces esta operación consume mucha CPU y debería evitarse.

Basada en conjuntos de elementos

El ejemplo más habitual de una expresión de conjunto es el de una basada en una lista de valores de campo entre llaves. Los valores están separados por comas, por ejemplo <Year = {2007, 2008}>. Los corchetes definen un conjunto de elementos, donde los elementos pueden ser valores de campo explícitos o búsquedas de valores de campo.

A menos que los valores de la lista contengan espacios en blanco o caracteres especiales, las comillas no son necesarias. Los valores de la lista simplemente se harán coincidir con los valores de campo. Esta comparación no distingue entre mayúsculas y minúsculas.

Si los valores de la lista contienen espacios en blanco o caracteres especiales, o si desea utilizar caracteres comodín, debe encerrar los valores entre comillas. Se deben usar comillas simples si los valores de la lista son valores de campo explícitos. Luego se realizarán correspondencias entre los valores de la lista sensibles a mayúsculas y minúsculas y los valores de campo individuales.

Se deben usar comillas dobles para las búsquedas, es decir, cadenas que contengan caracteres comodín o que comiencen con un operador relacional o un signo igual. Por ejemplo, <Ingredient = {"*Garlic*"}> seleccionará todos los ingredientes que contienen la cadena ’Garlic’. Las comillas dobles se pueden sustituir por corchetes, por ejemplo, <Ingredient = {[*Garlic*]}>. Las comillas dobles también se pueden sustituir por acentos graves, por ejemplo <Ingredient = {`*Garlic*`}>. Las búsquedas no distinguen entre mayúsculas y minúsculas.

Nota:

En versiones anteriores de Qlik Sense, no había distinción entre comillas simples y comillas dobles y todas las cadenas entre comillas se trataban como búsquedas. Para mantener la compatibilidad con versiones anteriores, las apps creadas con versiones anteriores de Qlik Sense continuarán funcionando como lo hicieron en versiones anteriores. Las apps creadas con Qlik Sense November 2017 o posterior respetarán la diferencia entre los dos tipos de comillas.

Exclusión forzada

Por último, para campos en modo AND hay también la posibilidad de una exclusión forzada. Si desea forzar la exclusión de valores específicos de campo, necesitará emplear "~" frente al nombre de campo.

Nota: El modo AND solo se permite usando la API Qlik Engine.

Examples and results:  

Ejemplos Resultados
sum( {1<Region= {USA} >} Sales ) Devuelve las ventas de la región USA sin tener en cuenta la selección actual
sum( {$<Region = >} Sales ) Devuelve las ventas de la selección actual, pero con la selección de 'Region' eliminada
sum( {<Region = >} Sales )

Devuelve lo mismo que el ejemplo inmediatamente anterior. Cuando se omite el conjunto para modificar, se supone $.

Nota: La sintaxis en los dos ejemplos anteriores se interpreta como "sin selecciones" en "Region", es decir, que todas las regiones a las que se les dio otras selecciones serán posibles. No es equivalente a la sintaxis <Region = {}> (o cualquier otro texto al lado derecho del signo igual que implícitamente dé como resultado un conjunto de elementos vacío), lo cual se interpreta como ninguna región.
sum( {$<Year = {2000}, Region = {US, SE, DE, UK, FR}>} Sales ) Devuelve las ventas de la selección actual, pero con nuevas selecciones tanto en 'Year' como en 'Region'.
sum( {$<~Ingredient = {“*garlic*”}>} Sales )

El campo Ingredient está en modo AND.

Devuelve las ventas de la selección actual, pero con una exclusión forzada de todos los ingredientes que contienen la cadena 'garlic'.

sum( {$<Year = {“2*”}>} Sales ) Devuelve las ventas de la selección actual, pero con todos los años que comienzan por el dígito "2", es decir, del año 2000 en adelante, seleccionado en el campo 'Year'.
sum( {$<Year = {“2*”,”198*”}>} Sales ) Igual que el anterior, pero ahora la década de los 80 se incluye en la selección.
sum( {$<Year = {“>1978<2004”}>} Sales ) Devuelve las ventas de las selecciones actuales, pero con una búsqueda numérica que sirve para variar el rango de años para sumar todas las ventas en dichos años.