Esempi dell’utilizzo di una variabile in un'espressione
In Qlik Sense, una variabile è un'entità denominata contenente un valore dati. Quando viene utilizzata in un'espressione, la variabile viene sostituita dal suo valore o dalla sua definizione.
Modalità di utilizzo delle variabili in un'espressione
Le variabili possono essere utilizzate in due modi diversi: in un riferimento diretto o in un'espansione con il simbolo del dollaro. Se si utilizza un riferimento diretto, il valore variabile verrà utilizzato nel calcolo. Se si utilizza un'espansione con il simbolo del dollaro, l'intera espansione con il simbolo del dollaro verrà sostituita dal valore variabile prima che l'espressione venga analizzata. Pertanto, i due metodi diversi possono restituire risultati differenti.
Esempio: utilizzo di una variabile con l'espansione del simbolo del dollaro
La variabile x contiene la stringa di testo Sum(Sales).
In un grafico si definisce l'espressione $(x)/12. L'effetto è esattamente lo stesso dell'espressione del grafico Sum(Sales)/12.
Tuttavia se, ad esempio, si cambia il valore della variabile x in Sum(Budget), i dati del grafico vengono immediatamente ricalcolati con l'espressione interpretata come Sum(Budget)/12.
Esempio: variabile con l'espansione del simbolo del dollaro in una tabella pivot
Si supponga di disporre di una tabella pivot oppure di un oggetto Pivot che contenga i seguenti elementi:
-
Le dimensioni sono Product Type e Product Name.
-
Le misure sono Sum(Sales) e Count (distinct InvoiceNumber).
-
Gli elementi alla voce Colonne sono Valori (predefinito) e il campo Quarter.
È possibile utilizzare le variabili per favorire un'analisi interattiva. Supponiamo di creare anche una variabile vUserInteraction con una definizione vuota. Quindi, creare due grafici Pulsante sul foglio, configurati con l'azione Imposta valore variabile:
-
Mostra altri dettagli: se si fa clic su questo pulsante, vUserInteraction viene impostato sul valore ='Yes'.
-
Mostra meno dettagli: se si fa clic su questo pulsante, vUserInteraction viene impostato sul valore ='No'.
Nella tabella pivot, è possibile aggiungere al grafico una serie di misure aggiuntive, come Count(Quantity) e Sum(Cost). Quindi, configurare ogni colonna di misura in modo che abbia il seguente valore per Mostra colonna se:
'$(Reference)'='Yes'
Ciò consente al grafico di adattarsi a seconda se l'utente desidera o meno informazioni aggiuntive. Se l'utente fa clic sul pulsante Mostra altri dettagli, alla tabella vengono aggiunte altre misure. In caso contrario, oppure se si fa clic su Mostra meno dettagli, le misure aggiuntive vengono rimosse.
Altri esempi: utilizzo di variabili con espansioni con il simbolo del dollaro
Le espansioni con il simbolo del dollaro sono uno strumento versatile e potente in Qlik Sense, con molti possibili utilizzi. Per altri esempi, vedere Espansioni con simbolo del dollaro.
Esempio: riferimento diretto a una variabile in un'espressione
L'utilizzo di una variabile come riferimento diretto è meno comune, ma è comunque utile. Ad esempio:
supponiamo di disporre di un campo TransactionSummary nel modello dati che contiene riepiloghi di testo libero di transazioni. Questo campo può contenere informazioni supplementari sulle transazioni. Ad esempio, in una transazione può essere disponibile un riepilogo per documentare che il cliente ha acquistato un articolo con un credito del negozio, oppure per documentare eventuali problemi emersi durante la vendita.
In un'app, si può vole usare TransactionSummary ma inserendo i dati in contesto senza influenzare il modello dati o lo script di caricamento e senza memorizzarli altrove nel grafico.
È possibile fare quanto segue:
Nella finestra di dialogo delle variabili, creare una variabile denominata vIntroStatement con la seguente definizione:
='The following summary was provided by the vendor: '
Aggiungere la seguente misura a un grafico Testo e immagine:
vIntroStatement & TransactionSummary
L'archiviazione dell'istruzione introduttiva come variabile consente di controllare centralmente l'uso di un valore. Ad esempio, la variabile vIntroStatement può essere utilizzata in più grafici e all'interno di una serie di misure diverse (ad esempio, può esserci un grafico separato che a volte contiene un testo che descrive quante unità sono state vendute durante la transazione). Utilizzando una variabile, è possibile semplificare il processo di aggiornamento delle espressioni nell'app. Per modificare la formulazione, è sufficiente aggiornare la variabile e le modifiche si rifletteranno in tutta l'applicazione.
Come vengono interpretati i nomi
Si sconsiglia di denominare una variabile con lo stesso nome utilizzato per un campo o una funzione in Qlik Sense. Tuttavia, in caso affermativo, è necessario sapere come utilizzarli in un'espressione.
Esempio:
La stringa XXX rappresenta un campo, una variabile, una funzione o una misura. XXX verrà interpretato come uno di essi a seconda di come l'espressione viene creata.
Espressione | XXX viene interpretato come |
---|---|
XXX | misura, variabile o campo |
$(XXX) | variabile |
Count(XXX) | campo o variabile |
XXX() | function |
Quando si denomina un'entità, evitare di assegnare lo stesso nome a più campi, variabili o misure. Esiste un rigoroso ordine di precedenza per risolvere i conflitti tra entità con nomi identici. Questo ordine si riflette in qualsiasi oggetto o contesto in cui queste entità vengono utilizzate. L'ordine di precedenza è il seguente:
All'interno di un'aggregazione, un campo ha la precedenza su una variabile. Le etichette delle misure non sono rilevanti nelle aggregazioni e non hanno priorità.
Al di fuori di un'aggregazione, un'etichetta di misura ha la precedenza su una variabile, che a sua volta ha la precedenza su un nome di campo.
Inoltre, al di fuori di un'aggregazione, una misura può essere riutilizzata facendo riferimento alla sua etichetta, a meno che non si tratti di un'etichetta calcolata. In tale situazione, la misura diminuisce di significato per ridurre il rischio di autoreferenzialità e in questo caso il nome sarà sempre interpretato prima come etichetta di misura, poi come nome di campo e infine come nome di variabile.
Come best practice, si consiglia di utilizzare una convenzione di denominazione standardizzata per le variabili create dall'utente in un'app. Ad esempio, si può fare in modo che tutti i nomi delle variabili inizino con v. Ad esempio: vUserText. In questo modo, si garantisce che le variabili vengano riconosciute rapidamente come tali e differenziate da misure, campi e funzioni.
Calcolo della variabile
Esistono diversi modi per utilizzare le variabili con i valori calcolati in Qlik Sense e il risultato dipende dal metodo di definizione e dal metodo di richiamo in un'espressione.
Questo esempio richiede che vengano caricati i seguenti dati nell’editor caricamento dati:
Si definiscono due variabili dalla relativa finestra di dialogo:
- Nome vSales Definizione'Sum(Sales)'
- Nome vSales2 Definizione'=Sum(Sales)'
Nella seconda variabile un segno di uguale verrà aggiunto prima dell'espressione. Ciò attiverà il calcolo della variabile prima che ne venga eseguita l'espansione e prima che l'espressione venga valutata.
Se si utilizza la variabile vSales senza modifiche, ad esempio in una misura, il risultato sarà la stringa Sum(Sales), vale a dire non verrà eseguito alcun calcolo.
Se si aggiunge un'espansione con simbolo del dollaro e si richiama $(vSales) nell'espressione, la variabile viene estesa e viene visualizzata la somma di Sales.
Infine, se si richiama $(vSales2), la variabile verrà calcolata prima di essere espansa. Ciò significa che il risultato visualizzato è la somma totale di Sales. In questo grafico, la differenza tra l'uso di =$(vSales) e =$(vSales2) come espressioni di misura restituisce i risultati:
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
Come si può vedere, $(vSales) risulta nella somma parziale di un valore di dimensione, mentre $(vSales2) risulta nella somma totale.