Ana içeriğe geç

LookUp - kod fonksiyonu

Lookup() zaten yüklü durumdaki bir tablonun içine bakar ve match_field_name alanında match_field_value değerinin ilk oluşuna karşılık gelen field_name değerini döndürür. Bu tablo, mevcut tablo ya da daha önce yüklenmiş başka bir tablo olabilir.

Syntax:  

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

Return data type: dual

Arguments:  

Bağımsız Değişkenler
Bağımsız Değişken Açıklama
field_name Döndürülen değerin gerekli olduğu alanın adı.Giriş değeri bir dize (örneğin, tırnak içine alınmış bir değişmez değer) olarak verilmelidir.
match_field_name match_field_value öğesinin aranacağı alanın adı. Giriş değeri bir dize (örneğin, tırnak içine alınmış bir değişmez değer) olarak verilmelidir.
match_field_value match_field_name alanında aranacak değer.
table_name

Değerin aranacağı tablonun adı. Giriş değeri bir dize (örneğin, tırnak içine alınmış bir değişmez değer) olarak verilmelidir.

table_name atlandığı takdirde geçerli tablo kabul edilir.

Not: Tırnak içinde olmayan bağımsız değişkenler geçerli tabloya referansta bulunur. Diğer tablolara referansta bulunmak için bağımsız değişkeni tek tırnak içine alın.

Limitations:  

Tablo, sıralamanın tam olarak tanımlanmadığı birleştirmeler gibi karmaşık işlemlerin bir sonucu olmadıkça, aramanın yapıldığı sıra yükleme sırasıdır. Hem field_name hem de match_field_name öğesi, table_name öğesi ile belirtilen aynı tablodaki alanlar olmalıdır.

Herhangi bir eşleşme bulunamazsa NULL sonucu döndürülür.

Örnek verilerde Lookup() fonksiyonu şu biçimde kullanılmaktadır:

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

Örnek kodu uygulamanıza ekleyin ve çalıştırın. Sonra sonucu görmek için sonuçlar sütununda listelenen alanları uygulamanızdaki bir sayfaya ekleyin.

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 tablosu ilk olarak yüklenir.

Lookup() fonksiyonu, OrderData tablosunu oluşturmak için kullanılır. Üçüncü bağımsız değişkeni ProductID olarak belirtir. Bu, tek tırnak içine alınmasıyla gösterildiği üzere ProductList içinde ikinci bağımsız değişkende ('ProductID') değeri aranacak alandır.

Fonksiyon, CategoryID olarak yüklenen 'Category' değerini döndürür (ProductList tablosunda).

drop deyimi ProductList tablosunu veri modelinden siler (çünkü gerekli değildir) ve böylece OrderData tablosunu şu sonuç ile bırakır:

Sonuç tablosu
ProductID InvoiceID CustomerID Birimler 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
Not: Lookup() fonksiyonu esnektir ve daha önce yüklenmiş herhangi bir tabloya erişim sağlayabilir. Bununla birlikte, Applymap() fonksiyonu ile karşılaştırıldığında yavaştır.