Gå till huvudinnehåll Gå till ytterligare innehåll

LookUp - skriptfunktion

Lookup() letar in i en tabell som redan är laddad och returnerar värdet av field_name vilket motsvarande den första förekomsten av värdet match_field_value i fältet match_field_name. Tabellen kan vara den aktuella tabell eller en annan tabell som har laddats.

Syntax:  

lookup(field_name, match_field_name, match_field_value [, table_name])

Returnerad datatyp: dual

Argument:  

LookUp-argument
Argument Beskrivning
field_name Namnet på det fält för vilket returvärdet krävs.Inmatat värde måste anges som en sträng (t ex en litteral inom citationstecken).
match_field_name Namnet på fältet som match_field_value ska sökas i. Inmatat värde måste anges som en sträng (t ex en litteral inom citationstecken).
match_field_value Värdet som ska sökas upp i match_field_name-fältet.
table_name

Namnet på tabellen där värdet ska sökas. Inmatat värde måste anges som en sträng (t.ex. en litteral inom citationstecken).

Om table_name utelämnas, antas aktuell tabell.

Anteckning om informationArgument utan citattecken syftar på den aktuella tabellen. Om du vill hänvisa till andra tabeller omger du ett argument med enkla citattecken.

Begränsningar:  

Sökordningen är densamma som laddningsordningen, såvida inte tabellen är resultatet av komplexa operationer som join-operationer. I så fall är ordningen inte väldefinierad. Både field_name och match_field_name måste vara fält i samma tabell, som angivet med table_name.

Om ingen motsvarighet påträffas, returneras NULL.

Exempel:  

Exempeldata använder Lookup()-funktionen i följande form:

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

Lägg till exempelskriptet i dokumentet och kör det. Lägg sedan till åtminstone de fält som listas i resultatkolumnen på ett ark i dokumentet för att se resultatet.

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

 

ProductList-tabellen laddas föst.

Lookup()-funktionen används för att bygga OrderData-tabellen. Den anger det tredje argumentet som ProductID. Detta är det fält för vilket en sökning efter värdet ska göras i det andra argumentet 'ProductID' i ProductList enligt vad som anges av de omgivande enkla citattecknen.

Funktionen returnerar värdet för "Category" (i tabellen ProductList), laddad som CategoryID.

drop-satsen tar bort ProductList-tabellen från datamodellen, eftersom den inte krävs, vilket ger OrderData-tabellen följande resultat:

Resultat för exempel 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
Anteckning om information Lookup()-funktionen är flexibel och kan komma åt alla tabeller som laddats tidigare. Det går dock långsamt jämfört med Applymap()-funktionen.

Mer information

 

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!

Gå med i programmet Analytics Modernization

Remove banner from view

Modernisera utan att kompromissa med dina värdefulla QlikView-appar med programmet för analysmodernisering. Klicka här för mer information eller ta kontakt: ampquestions@qlik.com