Dual - funzione dello script e del grafico
Dual() combina un numero e una stringa in un unico record in modo che la rappresentazione numerica del record possa essere utilizzata per l'ordinamento e il calcolo, mentre il valore della stringa possa essere utilizzato per la visualizzazione.
Sintassi:
Dual(text, number)
Tipo di dati restituiti: duale
Argomenti:
Argomento | Descrizione |
---|---|
text | Il valore della stringa da usare unitamente all'argomento del numero. |
number | Il numero da usare unitamente alla stringa nell'argomento della stringa. |
In QlikView, tutti i valori di campo sono potenzialmente valori duali. Questo significa che i valori del campo possono avere sia un valore numerico che un valore testuale. Un esempio è una data che potrebbe avere un valore numerico di 40908 e la rappresentazione testuale '2011-12-31'.
Quando diversi dati letti da un campo presentano rappresentazioni di stringhe differenti per la stessa rappresentazione numerica valida, tutti condividono la prima rappresentazione a stringa rilevata.
Esempio 1:
Aggiungere gli esempi seguenti allo script ed eseguirlo.
Load dual ( NameDay,NumDay ) as DayOfWeek inline
[ NameDay,NumDay
Monday,0
Tuesday,1
Wednesday,2
Thursday,3
Friday,4
Saturday,5
Sunday,6 ];
Il campo DayOfWeek può essere utilizzato in un grafico, come una dimensione, ad esempio in una tabella in cui i giorni della settimana sono ordinati automaticamente nella sequenza numerica corretta, invece che in ordine alfabetico.
Esempio 2:
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1;
Questo esempio individua il trimestre attuale. Viene visualizzato come Q1 quando la funzioneNow() viene eseguita nei primi tre mesi dell'anno, come Q2 per i secondi tre mesi e così via. Tuttavia, quando viene utilizzato nell'ordinamento, il campo Quarter si comporterà come il relativo valore numerico: da 1 a 4.
Esempio 3:
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter
Come nell'esempio precedente, il campo Quarter viene creato con i valori di testo da 'Q1' a 'Q4' a cui vengono assegnati i valori numerici da 1 a 4. Per poter utilizzarli nello script, i valori di Date devono venire caricati.
Esempio 4:
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek
Questo esempio creerà un campo sa con valori testuali in formato e assegnerà al contempo un valore numerico corrispondente al numero della data del primo giorno della settimana, ad esempio: .YearWeek'2012-W22' 41057. Per poter utilizzarli nello script, i valori di Date devono venire caricati.