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 Qlik Sense, toutes les valeurs de champ 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'.
Exemple | Description |
---|---|
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) | Le champ DayOfWeek peut être utilisé dans une visualisation sous forme de dimension. 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. |
Dual(Pick( Priority , 'Low','Medium','High'), Priority) | Le champ Priority peut être utilisé dans une visualisation sous forme de dimension. Dans une table, le champ Priority est trié automatiquement selon sa séquence numérique correcte plutôt que par ordre alphabétique. |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) | Le champ Date peut être utilisé dans une visualisation sous forme de dimension. Les valeurs textuelles Q1 à Q4 sont créées et les valeurs numériques 1 à 4 leur sont attribuées. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) | Le champ Date peut être utilisé dans une visualisation sous forme de dimension. Cet exemple crée des valeurs textuelles au format '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. |
Exemple | Description |
---|---|
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 ]; | Le champ DayOfWeek peut être utilisé dans une visualisation comme une dimension, par exemple. 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 (Trimestre) 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. |