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
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 Qlik Sense, 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'.
Esempio | Descrizione |
---|---|
Dual(IF(DayOfWeek = 0, 'Monday', IF(DayOfWeek = 1, 'Tuesday', If(DayOfWeek = 2 ,'Wednesday', If(DayOfWeek = 3 ,'Thursday', If(DayOfWeek = 4 ,'Friday', If(DayOfWeek = 5 ,'Saturday', If(DayOfWeek = 6 ,'Sunday' ))))))), DayOfWeek) | Il campo DayOfWeek può essere utilizzato come dimensione in una visualizzazione. In una tabella, i giorni della settimana sono ordinati automaticamente nella sequenza numerica corretta, anziché in ordine alfabetico. |
Dual(Pick( Priority , 'Low','Medium','High'), Priority) | Il campo Priority può essere utilizzato come dimensione in una visualizzazione. In una tabella, il campo Priority è ordinato automaticamente nella sequenza numerica corretta, anziché in ordine alfabetico. |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) | Il campo Date può essere utilizzato come dimensione in una visualizzazione. I valori di testo da Q1 a Q4 vengono creati e vengono assegnati loro i valori numerici da 1 a 4. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) | Il campo Date può essere utilizzato come dimensione in una visualizzazione. In questo esempio vengono creati valori testuali per il modulo '2012-W22' e, allo stesso tempo, viene assegnato un valore numerico corrispondente al numero della data del primo giorno della settimana, ad esempio: 41057. |
Esempio | Descrizione |
---|---|
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 una visualizzazione, ad esempio come dimensione. In una tabella, i giorni della settimana sono ordinati automaticamente nella sequenza numerica corretta, anziché in ordine alfabetico. |
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 funzione Now 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. |
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. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek | Questo esempio crea un campo YearWeek con i valori testuali in forma di 2012-W22 e allo stesso tempo assegna un valore numerico corrispondente al numero della data del primo giorno della settimana, ad esempio: 41057. Per poter utilizzarli nello script, i valori di Date devono venire caricati. |