Dual - fonction de script et fonction de graphique
Dual() combine un nombre et une chaîne dans un même enregistrement, de sorte que la représentation numérique de l'enregistrement puisse servir à des fins de tri et de calcul tandis que la valeur de chaîne peut être utilisée à des fins d'affichage.
Dual(text, number)
double
Argument | Description |
---|---|
text | Valeur de chaîne à utiliser en combinaison avec l'argument du nombre. |
number | Nombre à utiliser en combinaison avec la chaîne dans l'argument de la chaîne. |
Dans QlikView, toutes les valeurs de champs sont potentiellement des valeurs doubles. Autrement dit, les valeurs de champ peuvent comporter à la fois une valeur numérique et une valeur textuelle. Prenons l'exemple d'une date, qui peut admettre une valeur numérique de 40908 et une représentation textuelle égale à '2011-12-31'.
Lorsque plusieurs éléments de données lus dans un champ sont dotés de représentations de chaîne différentes mais qu'ils disposent de la même représentation numérique valide, ils partagent tous la première représentation de chaîne rencontrée.
Ajoutez les exemples suivants à votre script et exécutez ce dernier.
Load dual ( NameDay,NumDay ) as DayOfWeek inline
[ NameDay,NumDay
Monday,0
Tuesday,1
Wednesday,2
Thursday,3
Friday,4
Saturday,5
Sunday,6 ];
Il est possible d'utiliser le champ DayOfWeek dans un graphique, comme dimension, par exemple. Ainsi, dans une table, les jours de la semaine sont triés automatiquement selon leur séquence numérique correcte plutôt que par ordre alphabétique.
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1;
Cet exemple identifie le trimestre approprié. Il s'affiche sous l'intitulé Q1 lorsque la fonction Now() est exécutée pendant les trois premiers mois de l'année, sous l'intitulé Q2 pendant les trois mois suivants, et ainsi de suite. Cependant, lorsqu'il est utilisé pour le tri, le champ Quarter se comporte comme sa valeur numérique : 1 à 4.
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter
À l'instar de l'exemple précédent, le champ Quarter est créé à l'aide des valeurs de texte 'Q1' à 'Q4', et se voit attribuer les valeurs numériques 1 à 4. Afin de pouvoir appliquer cela dans le script, vous devez charger les valeurs de Date.
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek
Cet exemple crée un champ YearWeek comportant des valeurs de texte de la forme '2012-W22' et, dans le même temps, attribue une valeur numérique correspondant au numéro de date du premier jour de la semaine, par exemple : 41057. Afin de pouvoir appliquer cela dans le script, vous devez charger les valeurs de Date.