Vai al contenuto principale

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.

Syntax:  

Dual(text, number)

Return data type: duale

Arguments:  

Argomenti duali
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.

Suggerimento: La funzione dual viene in genere utilizzata all'inizio dello script, prima che venga eseguita la lettura di altri dati nel campo interessato, affinché sia possibile creare la prima rappresentazione di stringa, che verrà poi visualizzata nelle caselle di elenco.

Example 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.

Example 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.

Example 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.

Example 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.