# pick Script- en diagramfunctie

De functie pick retourneert de n-de uitdrukking in de lijst.

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

Syntaxis:

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

Retourgegevenstypen: dubbele waarde

Argumenten

| Argument | Beschrijving |
| --- | --- |
| n | n is een geheel getal tussen 1 en N. |

Voorbeeld: diagramuitdrukking

| Voorbeeld | Resultaat |
| --- | --- |
| `pick( N, 'A','B',4, 6<br><br>						)` | retourneert `B` als `N` = `2`<br><br>retourneert `4` als `N` = `3` |

## Voorbeeld - Labels aan producten toewijzen met pick

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat productgegevens. U wilt categorielabels aan producten toewijzen op basis van de categoriecode.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `ProductID`

  * `ProductName`

  * `CategoryCode`

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `ProductID`

* `ProductName`

* `CategoryCode`

Maak de volgende meting:

* `=Pick(CategoryCode, 'Electronics', 'Accessories', 'Office Equipment')`, om een geldige uitdrukking uit de lijst te retourneren.

Resultatentabel

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

De functie `pick` retourneert een lijst met waarden die bij de overeenkomstige indexatie van het numerieke veld `CategoryCode` horen. Het label `Electronics` is bijvoorbeeld de eerste parameter in de functie en wordt geretourneerd voor alle producten met de `CategoryCode` of `1`.

## Voorbeeld - Regiolabels toewijzen met pick

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat land- en regiocodes. U wilt regiolabels aan landen toewijzen op basis van de regiocode.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Country`

  * `RegionCode`

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `Country`

* `RegionCode`

Maak de volgende meting:

* `=Pick(RegionCode, 'North America', 'Europe', 'Asia', 'Australia')`, om een geldig item uit de lijst te retourneren.

Resultatentabel

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

De functie `pick` retourneert een lijst met waarden die bij de overeenkomstige indexatie van het numerieke veld `RegionCode` horen. Het label `North America` is bijvoorbeeld de eerste parameter in de functie en wordt geretourneerd voor alle landen met de `RegionCode` of `1`.

## Voorbeeld - pick en match combineren om lijsten met overeenkomsten in alternatieve tekst te vertalen

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

#### Diagramuitdrukking

Overzicht

Dit geavanceerde scenario beschrijft hoe u effectief een combinatie van de functies `pick` en `match` kunt gebruiken om tekstmatches inline toe te wijzen. In programmeertermen dient dit een soortgelijk doel als een `Case` instructie. Het scenario verkent deze functionaliteit door landnamen aan regio-equivalente namen toe te wijzen, terwijl het ook een standaard `Region` waarde geeft voor alle voorheen niet in kaart gebrachte `Country` namen.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Countries`.

  * De gegevenstabel bevat één veld met de naam `Country`.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `Country`

* `RegionCode`

Maak de volgende meting:

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

De functie `match` retourneert de indexatie die overeenkomt met de opgegeven door komma's gescheiden alternatieven, te beginnen met `1 = ‘USA’`, `2 = ‘Canada’` enzovoort. Als geen waarde wordt gevonden, wordt nul geretourneerd. Dit resultaat wordt dan verhoogd met `1` en ingevoerd in de functie `pick`, met `1 = default value` als er geen overeenkomst wordt gevonden, `2 = ‘USA’`, `3 = ‘Canada’` enzovoort.

Deze combinatie van `Match` en `Pick` functie-aanroepen zal dan de overeenkomende `Country` namen decoderen in een gelijkwaardige `Region` naam. Alle niet-toegewezen `Country` waarden zullen de standaard `Region` waarde, `Unmapped`, retourneren.

Resultatentabel

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