# Dual - Funzione per script e grafici

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.

[Dual Function](https://play.vidyard.com/vNa9jcN6DizzYQ1hDZ5VAr)

Sintassi:

Dual(text, number)

Tipo di dati restituiti: duale

Nota informaticaTutti i valori duali restituiti sono allineati a destra.

Argomenti

| 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 Qlik Sense, 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'.

Nota informaticaQuando 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.

Nota di suggerimentoLa 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 filtro.

Esempio: espressioni dei grafici

| Esempio | Descrizione |
| --- | --- |
| `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)` | Il campo `DayOfWeek` può essere utilizzato come dimensione in una visualizzazione. In una tabella, i giorni della settimana sono ordinati automaticamente nella sequenza numerica corretta, anziché in ordine alfabetico. |
| `Dual(Pick( Priority , 'Low','Medium','High'), Priority)` | Il campo `Priority` può essere utilizzato come dimensione in una visualizzazione. In una tabella, il campo `Priority` è ordinato automaticamente nella sequenza numerica corretta, anziché in ordine alfabetico. |
| `Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3))` | Il campo `Date` può essere utilizzato come dimensione in una visualizzazione. I valori di testo da `Q1` a `Q4` vengono creati e vengono assegnati loro i valori numerici da `1` a `4`. |
| `Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date))` | Il campo `Date` può essere utilizzato come dimensione in una visualizzazione. In questo esempio vengono creati valori testuali per il modulo `'2012-W22'` e, allo stesso tempo, viene assegnato un valore numerico corrispondente al numero della data del primo giorno della settimana, ad esempio: `41057`. |

Esempio: script di caricamento

| Esempio | Descrizione |
| --- | --- |
| Aggiungere gli esempi seguenti allo script ed eseguirlo.<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 ];` | Il campo `DayOfWeek` può essere utilizzato in una visualizzazione, ad esempio come dimensione. In una tabella, i giorni della settimana sono ordinati automaticamente nella sequenza numerica corretta, anziché in ordine alfabetico. |
| `Load<br>Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter<br>AutoGenerate 1;` | Questo esempio individua il trimestre attuale. Viene visualizzato come `Q1` quando la funzione Now 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. |
| `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. |
| `Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek` | Questo esempio crea un campo `YearWeek` con i valori testuali in forma di `2012-W22` e allo stesso tempo assegna un valore numerico corrispondente al numero della data del primo giorno della settimana, ad esempio: `41057`. Per poter utilizzarli nello script, i valori di `Date` devono venire caricati. |

## Esempio: principi fondamentali della funzione Dual

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

#### Espressione del grafico

Panoramica

Un set di dati contiene i dati del servizio clienti. Si desidera esaminare il numero di chiamate in base al giorno della settimana.

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `DayOfWeek`
  * `NoOfCalls`

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare un nuovo grafico a barre, quindi aggiungere una dimensione utilizzando uno dei seguenti metodi:

1. Nell'espressione della dimensione, aggiungere quanto segue:

   ```
   =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. Questo metodo è più efficiente. Nell'espressione della dimensione, aggiungere quanto segue:

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

Creare la seguente misura:

* `=Sum(NoOfCalls)`, per calcolare il numero di chiamate.

Risultati: grafico a barre che mostra il numero di chiamate per giorno della settimana.

Risultati: grafico a barre che mostra il numero di chiamate per giorno della settimana.

Risultati: grafico a barre che mostra il numero di chiamate per giorno della settimana. ![Grafico a barre con una dimensione creata utilizzando la funzione Dual nell'espressione della dimensione](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/dual-barchart.png)

Il grafico a barre mostra il numero di chiamate in base al giorno della settimana. Ordina automaticamente i giorni della settimana nell'ordine corretto.

## Esempio: scenario per l'applicazione della funzione Dual

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

#### Espressione del grafico

Panoramica

Un set di dati contiene i feedback sul servizio clienti. Si desidera ordinare e visualizzare i feedback mostrando prima le risposte negative e poi quelle positive.

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata Example.

* I seguenti campi nella tabella dati:

  * ResponseType
  * NoOfResponses

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare un nuovo grafico a barre e aggiungere la seguente espressione a una dimensione.

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

Creare la seguente misura:

* =Sum(NoOfResponses), per calcolare il numero di risposte.

Risultati: grafico a barre che mostra il numero di risposte in base al tipo di risposta.

Risultati: grafico a barre che mostra il numero di risposte in base al tipo di risposta.

Risultati: grafico a barre che mostra il numero di risposte in base al tipo di risposta. ![Grafico a barre con una dimensione creata utilizzando la funzione Dual nell'espressione della dimensione](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/dual-barchart2.png)

Il grafico a barre mostra il numero di risposte in base al tipo di risposta. Notare che le barre vengono ordinate automaticamente da un valore negativo a uno positivo. Al tipo di risposta, che è un valore numerico, è stata assegnata una descrizione testuale.