Gå till huvudinnehåll

LookUp - skriptfunktion

PÅ DEN HÄR SIDAN

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

Return data type: dual

Arguments:  

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.

Observera: Argument utan citattecken syftar på den aktuella tabellen. Om du vill hänvisa till andra tabeller omger du ett argument med enkla citattecken.

Limitations:  

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.

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

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

Lägg till exempelskriptet i appen och kör det. Lägg sedan till de fält som listas i resultatkolumnen till ett ark i din app 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:

Resultattabell
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
Observera: 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.