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ą.
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 polumatch_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).
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.
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;
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().