# pick funkcja skryptu i funkcja wykresu

Funkcja pick zwraca n-te wyrażenie na liście.

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

Składnia:

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

Typ zwracanych danych: wartość podwójna

Argumenty

| Argument | Opis |
| --- | --- |
| n | n jest liczbą całkowitą z zakresu od 1 do N. |

Przykład: wyrażenie wykresu

| Przykład | Wynik |
| --- | --- |
| `pick( N, 'A','B',4, 6<br><br>						)` | zwraca `B`, jeżeli `N` = `2`<br><br>zwraca `4`, jeżeli `N` = `3` |

## Przykład — przypisywanie etykiet do produktów przy użyciu pick

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane produktów. Chcesz przypisać etykiety kategorii do produktów na podstawie kodu kategorii.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `ProductID`

  * `ProductName`

  * `CategoryCode`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `ProductID`

* `ProductName`

* `CategoryCode`

Utwórz następującą miarę:

* `=Pick(CategoryCode, 'Electronics', 'Accessories', 'Office Equipment')`, aby zwrócić prawidłowe wyrażenie z listy.

Tabela wynikowa

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

Funkcja `pick` zwraca listę wartości powiązanych z odpowiednim indeksem z pola liczbowego `CategoryCode`. Na przykład etykieta `Electronics` jest pierwszym parametrem funkcji i jest zwracana dla wszystkich produktów z etykietą `CategoryCode` o wartości `1`.

## Przykład — przypisywanie etykiet regionów przy użyciu pick

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera kody krajów i regionów. Chcesz przypisać etykiety regionów do krajów na podstawie kodu regionu.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `Country`

  * `RegionCode`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `Country`

* `RegionCode`

Utwórz następującą miarę:

* `=Pick(RegionCode, 'North America', 'Europe', 'Asia', 'Australia')`, aby zwrócić prawidłową pozycję z listy.

Tabela wynikowa

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

Funkcja `pick` zwraca listę wartości powiązanych z odpowiednim indeksem z pola liczbowego `RegionCode`. Na przykład etykieta `North America` jest pierwszym parametrem funkcji i jest zwracana dla wszystkich krajów, których `RegionCode` to `1`.

## Przykład — połączenie pick i match w celu translacji listy alternatywnych dopasowań tekstowych

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

#### Wyrażenie wykresu

Przegląd

Ten zaawansowany scenariusz opisuje, jak skutecznie korzystać z kombinacji funkcji `pick` i `match`, aby mapować dopasowania tekstu w treści. Pod względem programistycznym służy to podobnemu celowi jak instrukcja `Case`. W tym zastosowaniu bada się tę funkcjonalność przez mapowanie nazw krajów na nazwy odpowiadające regionom, zapewniając jednocześnie domyślną wartość `Region` dla wszelkich wcześniej niezamapowanych nazw `Country`.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Countries`.

  * Tabela danych ma jedno pole o nazwie `Country`.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `Country`

* `RegionCode`

Utwórz następującą miarę:

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

Funkcja `match` zwróci indeks pasujący do podanych alternatyw oddzielonych przecinkami, zaczynając od `1 = ‘USA’`, `2 = ‘Canada’` i tak dalej. W razie braku dopasowania zwracane jest zero. Wynik ten jest następnie zwiększany o `1` i wprowadzany do funkcji `pick`, w związku z czym `1 = default value`, jeśli nie znaleziono dopasowania, `2 = ‘USA’`, `3 = ‘Canada’` i tak dalej.

Ta kombinacja wywołań funkcji `Match` i `Pick` dekoduje pasujące nazwy `Country` na równoważną nazwę `Region`. Wszelkie niezamapowane wartości `Country` zwrócą domyślną wartość `Region`, `Unmapped`.

Tabela wynikowa

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