# LookUp Funkcja skryptu

Funkcja LookUp() sprawdza załadowaną tabelę i zwraca wartość field\_name odpowiadającą pierwszemu wystąpieniu wartości match\_field\_value w polu match\_field\_name. Tabela ta może być tabelą bieżącą lub inną wcześniej załadowaną tabelą.

Składnia:

LookUp(field\_name, match\_field\_name, match\_field\_value [, table\_name])

Typ zwracanych danych: wartość podwójna

Argumenty:

Argumenty

| Argument | Opis |
| --- | --- |
| field\_name | Nazwa pola, dla którego wymagana jest wartość zwracana. Wartość wejściowa musi być podana jako ciąg znaków (np. jako literał w cudzysłowie). |
| match\_field\_name | Nazwa pola, w którym wyszukiwana jest wartość match\_field\_value. Wartość wejściowa musi być podana jako ciąg znaków (np. jako literał w cudzysłowie). |
| match\_field\_value | Wartość wyszukiwana w polu match\_field\_name. |
| table\_name | Nazwa tabeli, w której wyszukiwana jest wartość. Wartość wejściowa musi być podana jako ciąg znaków (np. jako literał w cudzysłowie).<br><br>Jeśli argument table\_name zostanie pominięty, przyjmowana jest bieżąca tabela. |

InformacjaArgumenty bez cudzysłowów odwołują się do bieżącej tabeli. Aby odwołać się do innych tabel, należy ująć argument w pojedyncze cudzysłowy.

Ograniczenia:

Kolejność wyszukiwania odpowiada kolejności ładowania, chyba że tabela jest wynikiem złożonych operacji, na przykład sprzężeń — w takim przypadku kolejność nie jest dobrze zdefiniowana. field\_name i match\_field\_name muszą określać pola w tej samej tabeli, wskazanej argumentem table\_name.

W razie braku dopasowania zwracane jest NULL.

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

#### Przykład

### Skrypt ładowania

Załaduj następujące dane w edytorze ładowania danych jako ładowanie wbudowane, aby utworzyć poniższy przykład.

```
ProductList:
Load * Inline [
ProductID|Product|Category|Price
1|AA|1|1
2|BB|1|3
3|CC|2|8
4|DD|3|2
] (delimiter is '|');
 
OrderData:
Load *, Lookup('Category', 'ProductID', ProductID, 'ProductList') as CategoryID
Inline [
InvoiceID|CustomerID|ProductID|Units
1|Astrida|1|8
1|Astrida|2|6
2|Betacab|3|10
3|Divadip|3|5
4|Divadip|4|10
] (delimiter is '|');
 
Drop Table ProductList;
```

Aby uzyskać więcej informacji o ładowaniu wbudowanym, zobacz temat [Używanie wbudowanych ładowań do ładowania danych](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

### Tworzenie wizualizacji

Utwórz wizualizację tabeli w arkuszu Qlik Sense. Dodaj pola ProductID, InvoiceID, CustomerID, Units i CategoryID do tabeli.

### Wynik

Tabela wynikowa

| ProductID | InvoiceID | CustomerID | Units | CategoryID |
| --- | --- | --- | --- | --- |
| 1 | 1 | Astrida | 8 | 1 |
| 2 | 1 | Astrida | 6 | 1 |
| 3 | 2 | Betacab | 10 | 2 |
| 3 | 3 | Divadip | 5 | 2 |
| 4 | 4 | Divadip | 10 | 3 |

### Objaśnienie

Przykładowe dane używają funkcji Lookup() w następującej formie:

`Lookup('Category', 'ProductID', ProductID, 'ProductList')`

W pierwszej kolejności ładowana jest tabelaProductList.

Przy użyciu funkcji Lookup() tworzona jest tabela OrderData. Określa ona trzeci argument jako ProductID. Jest to pole, w odniesieniu którego należy wyszukać wartość w drugim argumencie 'ProductID' w tabeli ProductList, na co wskazuje ujęcie w pojedyncze cudzysłowy.

Funkcja zwraca wartość „Category” (w tabeli ProductList), załadowaną jako CategoryID.

Instrukcja drop usuwa tabelę ProductList z modelu danych, ponieważ nie jest wymagana, w wyniku czego pozostaje następująca wynikowa tabela OrderData.

InformacjaFunkcja Lookup() jest elastyczna i może uzyskać dostęp do każdej wcześniej załadowanej tabeli. Jest jednak wolna w porównaniu z funkcją Applymap().

## Dowiedz się więcej

* [ApplyMap Funkcja skryptu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/MappingFunctions/ApplyMap.htm)