# Dual - Fonction de script et 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 Function](https://play.vidyard.com/vNa9jcN6DizzYQ1hDZ5VAr)

Dual(text, number)

double

Note InformationsToutes les valeurs de renvoi doubles sont alignées à droite.

Arguments

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

Note InformationsLorsque 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.

Note ConseilLa 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 volets de filtre.

Exemple : Expressions de graphique

| Exemple | Description |
| --- | --- |
| `Dual(IF(DayOfWeek = 0, 'Monday',`<br>`IF(DayOfWeek = 1, 'Tuesday',`<br>`If(DayOfWeek = 2 ,'Wednesday',`<br>`If(DayOfWeek = 3 ,'Thursday',		If(DayOfWeek = 4 ,'Friday',		If(DayOfWeek = 5 ,'Saturday',		 If(DayOfWeek = 6 ,'Sunday'`<br>`))))))), 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 : Scripts de chargement

| Exemple | Description |
| --- | --- |
| Ajoutez les exemples suivants à votre script et exécutez ce dernier.<br><br>`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<br>Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter<br>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`. |

## Exemple - Les bases de Dual

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Dual.htm)

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient des données relatives au service clientèle. Vous souhaitez examiner le nombre d'appels en fonction du jour de la semaine.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `DayOfWeek`
  * `NoOfCalls`

Script de chargement

```
Example:
Load * inline [
DayOfWeek, NoOfCalls
0, 25000
1, 30000
2, 27500
3, 32000
4, 23250
5, 28950
6, 32350
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez un nouveau graphique à barres, puis ajoutez une dimension à l'aide de l'une des méthodes suivantes :

1. Dans l'expression de la dimension, ajoutez ce qui suit :

   ```
   =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) 
   ```

2. Cette méthode est plus efficace. Dans l'expression de la dimension, ajoutez ce qui suit :

   ```
   =Dual(pick( DayOfWeek +1 , 'Monday','Tuesday','Wednesday', 'Thursday','Friday', 'Saturday','Sunday' ), DayOfWeek)
   ```

Créez la mesure suivante :

* `=Sum(NoOfCalls)`, pour calculer le nombre d'appels.

Résultats : graphique à barres indiquant le nombre d'appels en fonction du jour de la semaine

Résultats : graphique à barres indiquant le nombre d'appels en fonction du jour de la semaine

Résultats : graphique à barres indiquant le nombre d'appels en fonction du jour de la semaine ![Graphique à barres avec la dimension créée à l'aide de la fonction Dual dans l'expression de la dimension](https://help.qlik.com/fr-FR/sense/November2025/Subsystems/Hub/Content/Resources/Images/dual-barchart.png)

Le graphique à barres indique le nombre d'appels en fonction du jour de la semaine. Il classe automatiquement les jours de la semaine dans le bon ordre.

## Exemple - Scénario Dual

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Dual.htm)

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient des commentaires sur l'assistance à la clientèle. Vous souhaitez trier et afficher les commentaires en faisant apparaître les réponses négatives en premier lieu, suivies des réponses positives.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée Example.

* Champs suivants dans la table de données :

  * ResponseType
  * NoOfResponses

Script de chargement

```
Example:
Load * inline [
ResponseType, NoOfResponses
1, 350
2, 560
3, 4350
4, 2350
5, 5350
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez un nouveau graphique à barres et ajoutez l'expression suivante à une dimension.

* =Dual(pick( ResponseType , 'Very Bad','Bad','Average', 'Good','Very Good'), ResponseType)

Créez la mesure suivante :

* =Sum(NoOfResponses), pour calculer le nombre de réponses.

Résultats : graphique à barres indiquant le nombre de réponses par type de réponse

Résultats : graphique à barres indiquant le nombre de réponses par type de réponse

Résultats : graphique à barres indiquant le nombre de réponses par type de réponse ![Graphique à barres avec la dimension créée à l'aide de la fonction Dual dans l'expression de la dimension](https://help.qlik.com/fr-FR/sense/November2025/Subsystems/Hub/Content/Resources/Images/dual-barchart2.png)

Le graphique à barres indique le nombre de réponses par type de réponse. Notez que les barres sont automatiquement triées des valeurs négatives aux valeurs positives. Le type de réponse, qui est une valeur numérique, s'est vu attribuer une description textuelle.