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 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).
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;
Aby uzyskać więcej informacji o ładowaniu wbudowanym, zobacz temat Ładowania wbudowane.
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
Jednostki:
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:
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().