# 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: podwójny

Argumenty:

Argumenty LookUp

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

Przykład:

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

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

Dodaj przykładowy skrypt do dokumentu i uruchom go. Następnie dodaj do arkusza w swoim dokumencie co najmniej pola wyszczególnione w kolumnie wyników, aby wyświetlić wynik.

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

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 uzyskana tabela OrderData zawiera następujący wynik:

Wyniki przykładu 1

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

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/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/Scripting/MappingFunctions/ApplyMap.htm)