Vai al contenuto principale

Modificatori di gruppo

Un gruppo può essere modificato da una selezione modificata o aggiunta. Tale modifica può essere scritta nell'espressione di gruppo.

Il modificatore consiste in uno o più nomi di campo, ognuno seguito da una selezione da operare sul campo, il tutto racchiuso fra parentesi angolari: < >. Ad esempio: <Year={2007,2008},Region={US}>. I nomi e i valori di campo possono essere racchiusi tra i delimitatori consueti: <[Sales Region]={'West coast', 'South America'}>.

Un modificatore di gruppo modifica la selezione dell'identificatore di gruppo precedente. Se non viene fatto riferimento ad alcun identificatore di gruppo, lo stato della selezione corrente è implicito.

La selezione può essere definita in diversi modi:

  • In base a un altro campo
  • In base a set di elementi (un elenco di valori di campo nel modificatore)
  • Esclusione forzata

Questi metodi sono descritti nelle sottosezioni seguenti.

In base a un altro campo

Un caso semplice è una selezione basata sui valori selezionati di un altro campo, ad esempio <OrderDate = DeliveryDate>. Questo modificatore prenderà i valori selezionati da DeliveryDate e li applicherà come una selezione a OrderDate. Se sono presenti molti valori diversi, più di duecento, evitare di eseguire questa operazione, in quanto prevede l'uso di una quantità elevata di CPU.

In base a set di elementi

L'esempio più comune di espressione set è quello basato su un elenco di valori di campo racchiuso tra parentesi graffe. I valori sono separati da virgole, ad esempio <Year = {2007, 2008}>. Le parentesi graffe definiscono un set di elementi, che possono essere valori di campo espliciti o ricerche di valori di campo.

A meno che i valori elencati non contengano spazi vuoti o caratteri speciali, le virgolette non sono necessarie. I valori elencati verranno abbinati semplicemente ai valori di campo. Questo confronto non distingue tra maiuscole e minuscole.

Se i valori elencati contengono spazi vuoti o caratteri speciali oppure se si desidera utilizzare caratteri jolly, è necessario racchiudere i valori tra virgolette. Devono essere utilizzate virgolette singole se i valori elencati sono valori di campo espliciti. Verranno quindi effettuati abbinamenti che rispettano la distinzione maiuscole/minuscole tra i valori elencati e i singoli valori di campo.

Devono essere utilizzate virgolette doppie per le ricerche, ovvero per le stringhe che contengono caratteri jolly o iniziano con un operatore relazionale o un segno di uguale. Ad esempio, <Ingredient = {"*Garlic*"}> seleziona tutti gli ingredienti che contengono la stringa 'Garlic'. Le virgolette doppie possono essere sostituite con parentesi quadre, ad esempio <Ingredient = {[*Garlic*]}>. Le virgolette doppie possono anche essere sostituite con accenti gravi, ad esempio <Ingredient = {`*Garlic*`}>. Le ricerche non distinguono tra maiuscole e minuscole.

Nota informatica

Nelle precedenti versioni di Qlik Sense non vi era distinzione tra virgolette singole e virgolette doppie e tutte le stringhe racchiuse tra virgolette venivano trattate come ricerche. Per questione di compatibilità, le app create con le versioni precedenti di Qlik Sense continueranno a funzionare come prima. Le app create con Qlik Sense November 2017 o versioni successive rispetteranno la differenza tra i due tipi di virgolette.

Esclusione forzata

Infine, per i campi in modalità AND, è inoltre possibile eseguire un'esclusione forzata. Se si desidera forzare l'esclusione di valori di campi specifici, è necessario utilizzare "~" davanti al nome di campo.

Nota informaticaLa modalità AND è supportata solo tramite le API di Qlik Engine.

Examples and results:  

Esempi Risultati
sum( {1<Region= {USA} >} Sales ) Restituisce le vendite per la regione USA ignorando la selezione corrente.
sum( {$<Region = >} Sales ) Restituisce le vendite per la selezione corrente, da cui è però stata rimossa la selezione in 'Region'.
sum( {<Region = >} Sales )

Restituisce lo stesso risultato dell'esempio immediatamente precedente. Quando il gruppo da modificare viene omesso, viene utilizzato $.

Nota informaticaLa sintassi dei due esempi precedenti viene interpretata come "nessuna selezione" in Region', ossia saranno possibili tutte le regioni alle quali sono state assegnate altre selezioni. Non equivale alla sintassi <Region = {}> (oppure a un altro testo a destra del segno di uguale che restituisce implicitamente un gruppo di elementi vuoto), che viene interpretata come no region.
sum( {$<Year = {2000}, Region = {US, SE, DE, UK, FR}>} Sales ) Restituisce le vendite per la selezione corrente, ma con nuove selezione sia in 'Year' che in 'Region'.
sum( {$<~Ingredient = {“*garlic*”}>} Sales )

Il campo Ingredient si trova in modalità AND.

Restituisce le vendite per la selezione corrente, ma con un'esclusione forzata di tutti gli ingredienti contenenti la stringa 'garlic'.

sum( {$<Year = {“2*”}>} Sales ) Restituisce le vendite per la selezione corrente, ma con tutti gli anni che iniziano con il numero "2", probabilmente l'anno 2000 e successivi selezionati nel campo 'Year'.
sum( {$<Year = {“2*”,”198*”}>} Sales ) Restituisce lo stesso risultato riportato sopra, ma ora nella selezione vengono inclusi anche gli anni 80.
sum( {$<Year = {“>1978<2004”}>} Sales ) Restituisce le vendite per le selezioni correnti, ma utilizzando una ricerca numerica per esaminare l'intervallo degli anni ed eseguire la somma delle relative vendite.