Accéder au contenu principal

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.

Syntax:  

Dual(text, number)

Return data type: double

Arguments:  

Arguments Dual
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.

Conseil: La fonction dual est généralement utilisée au début du script, avant que d'autres données ne soient lues dans le champ concerné, afin de créer cette première représentation de chaîne qui sera affichée dans les listes de sélection.

Example 1:  

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.

Example 2:  

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.

Example 3:  

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.

Example 4:  

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.