# pick - Skript- und Diagrammfunktion

Die pick-Funktion liefert die n-te Formel in der Liste.

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

Syntax:

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

Rückgabe Datentyp: dual

Argumente

| Argument | Beschreibung |
| --- | --- |
| n | n ist eine ganze Zahl zwischen 1 und N. |

Beispiel: Diagrammformel

| Beispiel | Ergebnis |
| --- | --- |
| `pick( N, 'A','B',4, 6<br><br>						)` | Gibt `B` zurück, wenn `N` = `2`<br><br>Gibt `4` zurück, wenn `N` = `3` |

## Beispiel – Produkten Bezeichnungen mit pick zuweisen

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

#### Diagrammformel

Übersicht

Ein Datensatz enthält Produktdaten. Sie möchten den Produkten Kategoriebezeichnungen auf der Grundlage des Kategoriecodes zuweisen.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `ProductID`

  * `ProductName`

  * `CategoryCode`

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `ProductID`

* `ProductName`

* `CategoryCode`

Erstellen Sie die folgende Kennzahl:

* `=Pick(CategoryCode, 'Electronics', 'Accessories', 'Office Equipment')`, um eine gültige Formel aus der Liste zurückzugeben.

Ergebnistabelle

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

Die Funktion `pick` gibt eine Liste von Werten zurück, die mit dem entsprechenden Index aus dem numerischen Feld `CategoryCode` verknüpft sind. Zum Beispiel ist die Bezeichnung `Electronics` der erste Parameter in der Funktion und wird für alle Produkte mit einem `CategoryCode` von `1` zurückgegeben.

## Beispiel – Regionen Bezeichnungen mit pick zuweisen

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

#### Diagrammformel

Übersicht

Ein Datensatz enthält Länder- und Regionscodes. Sie möchten den Ländern auf der Grundlage des Regionscodes Regionsbezeichnungen zuweisen.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `Country`

  * `RegionCode`

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `Country`

* `RegionCode`

Erstellen Sie die folgende Kennzahl:

* `=Pick(RegionCode, 'North America', 'Europe', 'Asia', 'Australia')`, um ein gültiges Element aus der Liste zurückzugeben.

Ergebnistabelle

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

Die Funktion `pick` gibt eine Liste von Werten zurück, die mit dem entsprechenden Index aus dem numerischen Feld `RegionCode` verknüpft sind. Zum Beispiel ist die Bezeichnung `North America` der erste Parameter in der Funktion und wird für alle Länder mit einem `RegionCode` von `1` zurückgegeben.

## Beispiel – Kombination von pick und match zur Übersetzung von Listen mit Übereinstimmungen bei alternativem Text

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

#### Diagrammformel

Übersicht

Dieses fortgeschrittene Szenario beschreibt, wie Sie eine Kombination aus den Funktionen `pick` und `match` effektiv nutzen können, um Textübereinstimmungen inline zuzuordnen. In der Programmierung dient dies einem ähnlichen Zweck wie ein `Case`-Befehl. Das Szenario zeigt diese Funktionalität, indem es Ländernamen den Namen von Regionen zuordnet und gleichzeitig einen Standardwert für `Region` für alle bisher nicht zugeordneten `Country`-Namen bereitstellt.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Countries` geladen wird

  * Ein Feld in der Datentabelle heißt `Country`.

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `Country`

* `RegionCode`

Erstellen Sie die folgende Kennzahl:

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

Die Funktion `match` gibt die Indexübereinstimmung der durch Komma getrennten Alternativen zurück, beginnend mit `1 = ‘USA’`, `2 = ‘Canada’` und so weiter. Wird keine Übereinstimmung gefunden, ist das Ergebnis null. Dieses Ergebnis wird dann um `1` erhöht und in die Funktion `pick` eingelesen, mit dem Ergebnis `1 = default value`, wenn keine Übereinstimmung gefunden wird, `2 = ‘USA’`, `3 = ‘Canada’` und so weiter.

Diese Kombination aus `Match`- und `Pick`-Funktionsaufrufen decodiert dann die passenden `Country`-Namen in einen entsprechenden `Region`-Namen. Alle nicht zugeordneten `Country`-Werte geben den Standardwert für `Region` zurück, `Unmapped`.

Ergebnistabelle

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