# pick - Funzione per script e grafici

La funzione pick restituisce l'espressione numero n nell'elenco.

[Pick function](https://play.vidyard.com/i2VAER2iYbPyuC46aLGxG3)

Sintassi:

pick(n, expr1[ , expr2,...exprN])

Tipo di dati restituiti: duale

Argomenti

| Argomento | Descrizione |
| --- | --- |
| n | n è un numero intero compreso tra 1 e N. |

Esempio: espressione del grafico

| Esempio | Risultato |
| --- | --- |
| `pick( N, 'A','B',4, 6<br><br>						)` | restituisce `B` se `N` = `2`<br><br>restituisce `4` se `N` = `3` |

## Esempio: assegnazione di etichette ai prodotti utilizzando pick

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

#### Espressione del grafico

Panoramica

Un set di dati contiene i dati dei prodotti.Si desidera assegnare le etichette di categoria ai prodotti in base al codice di categoria.

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:

  * `ProductID`

  * `ProductName`

  * `CategoryCode`

Script di caricamento

```
Example:
LOAD * INLINE [
ProductID, ProductName, CategoryCode
1, "Laptop", 1
2, "Headphones", 2
3, "Printer", 3
4, "Smartphone", 1
5, "Tablet", 1
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `ProductID`

* `ProductName`

* `CategoryCode`

Creare la seguente misura:

* `=Pick(CategoryCode, 'Electronics', 'Accessories', 'Office Equipment')`, per restituire un'espressione valida dall'elenco.

Tabella dei risultati

| ProductID | ProductName | CategoryCode | Pick(CategoryCode, 'Electronics', 'Accessories', 'Office Equipment') |
| --- | --- | --- | --- |
| 1 | Laptop | 1 | Electronics |
| 2 | Headphone | 2 | Accessories |
| 3 | Printer | 3 | Office Equipment |
| 4 | Smartphone | 1 | Electronics |
| 5 | Tablet | 1 | Electronics |

La funzione `pick` restituisce un elenco di valori associati all'indice corrispondente dal campo numerico `CategoryCode`. Ad esempio, l'etichetta `Electronics` è il primo parametro della funzione e viene restituita per tutti i prodotti con `CategoryCode` uguale a `1`.

## Esempio: assegnazione delle etichette delle regioni utilizzando pick

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

#### Espressione del grafico

Panoramica

Un set di dati contiene codici per Paesi e regioni.Si desidera assegnare le etichette delle regioni ai Paesi in base al codice regionale.

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:

  * `Country`

  * `RegionCode`

Script di caricamento

```
Example:
LOAD * INLINE [
Country, RegionCode
"USA", 1
"Canada", 1
"Germany", 2
"Japan", 3
"Australia", 4
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `Country`

* `RegionCode`

Creare la seguente misura:

* `=Pick(RegionCode, 'North America', 'Europe', 'Asia', 'Australia')`, per restituire un elemento valido dall'elenco.

Tabella dei risultati

| Country | RegionCode | Pick(RegionCode, 'North America', 'Europe', 'Asia', 'Australia') |
| --- | --- | --- |
| Australia | 4 | Australia |
| Canada | 1 | North America |
| Germany | 2 | Europe |
| Japan | 3 | Asia |
| USA | 1 | North America |

La funzione `pick` restituisce un elenco di valori associati all'indice corrispondente dal campo numerico `RegionCode`. Ad esempio, l'etichetta `North America` è il primo parametro della funzione e viene restituita per tutte le regioni con`RegionCode` uguale a `1`.

## Esempio: combinazione di pick e match per tradurre elenchi di corrispondenze di testo alternative

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

#### Espressione del grafico

Panoramica

Questo scenario avanzato descrive come utilizzare efficacemente una combinazione delle funzioni `pick` e `match` per mappare le corrispondenze di testo in linea. In termini di programmazione, ha uno scopo simile a quello di un'istruzione `Case`. Lo scenario esplora questa funzionalità mappando i nomi dei Paesi in nomi equivalenti alle regioni, fornendo anche un valore predefinito `Region` per qualsiasi nome precedentemente non mappato `Country`.

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 `Countries`.

  * La tabella dati ha un campo denominato `Country`.

Script di caricamento

```
Countries:
LOAD * INLINE [
Country
"USA"
"Canada"
"Germany"
"Japan"
"Australia"
"South Africa"
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `Country`

* `RegionCode`

Creare la seguente misura:

* `=Pick(1+match(Country,'USA','Canada','Germany','Japan','Australia'), 'Unmapped', 'North America', 'North America', 'Europe', 'Asia', 'Australia')`

La funzione `match` restituirà la corrispondenza dell'indice delle alternative fornite separate da virgole, a partire da `1 = ‘USA’`, `2 = ‘Canada’` e così via. Se non viene trovata alcuna corrispondenza, viene restituito il valore zero. Questo risultato viene poi incrementato di `1` e inserito nella funzione `pick`, in modo che `1 = default value` se non viene trovata alcuna corrispondenza, `2 = ‘USA’`, `3 = ‘Canada’` e così via.

Questa combinazione di chiamate di funzione `Match` e `Pick` decodifica i nomi `Country` corrispondenti in un nome `Region` equivalente. Qualsiasi valore non mappato per `Country` restituirà il valore predefinito per `Region`, `Unmapped`.

Tabella dei risultati

| Country | Pick(1+match(Country,'USA','Canada','Germany','Japan','Australia'), 'Unmapped', 'North America', 'North America', 'Europe', 'Asia', 'Australia') |
| --- | --- |
| Australia | Australia |
| Canada | North America |
| Germany | Europe |
| Japan | Asia |
| South Africa | Unmapped |
| USA | North America |