Ana içeriğe geç

Peek - kod fonksiyonu

Peek(), zaten yüklenmiş veya dahili bellekte var olan bir satır için bir tabloda bir alanın değerini bulur. Satır numarası belirtilebilir (tabloda olduğu gibi).

Syntax:  

Peek(

field_name

[, row_no[, 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.
row_no

Tabloda alanın zorunlu olduğunu belirten satır. Bir ifade olabilir, ancak tamsayıya çözümlenmelidir. 0 ilk kaydı ve 1 ikinci kaydı gösterir ve bu böyle devam eder. Negatif sayılar tablonun sonundan itibaren sırayı belirtir. -1 değeri, okunan son kaydı gösterir.

row belirtilmezse -1 olduğu varsayılır.

table_name Sonunda iki nokta üst üste olmayan tablo etiketi. table_name belirtilmezse geçerli tablo olduğu varsayılır. LOAD deyimi dışında kullanılırsa veya başka bir tabloya referansta bulunursa, table_name dahil edilmelidir.

Limitations:  

Bir dahili tablonun ilk kaydında, fonksiyon NULL sonucunu döndürür.

Example:  

Ö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.

EmployeeDates:

Load * Inline [

EmployeeCode|StartDate|EndDate

101|02/11/2010|23/06/2012

102|01/11/2011|30/11/2013

103|02/01/2012|

104|02/01/2012|31/03/2012

105|01/04/2012|31/01/2013

106|02/11/2013|

] (delimiter is '|');

 

FirstEmployee:

Load EmployeeCode, Peek('EmployeeCode',0) As EmpCode

Resident EmployeeDates;

 

EmpCode = 101; çünkü Peek('EmployeeCode',0) öğesi EmployeeDates tablosundaki ilk EmployeeCode değerini döndürür.

row_no bağımsız değişkeninin değeri değiştirildiğinde tablodaki diğer satırların değerleri döndürülür. Şöyle ki:

Peek('EmployeeCode',2), tablodaki üçüncü değeri döndürür: 103.

Ancak, üçüncü bağımsız değişken (table_no) olarak tablo belirtilmediğinde, fonksiyonun mevcut tabloya (bu örnekte dahili tabloya) referansta bulunduğunu unutmayın. Peek('EmployeeCode',-2) sonucu birden fazla değer içerir:

Sonuç tablosu
Çalışan kodu EmpCode

101

-
102 -
103 101
104 102
105 103
106 104

Example:  

FirstEmployee:

Load EmployeeCode, Peek('EmployeeCode',-2,'EmployeeDates') As EmpCode

Resident EmployeeDates;

 

By specifying the argument table_no as 'EmployeeDates', the function returns the second-to-last value of EmployeeCode in the table EmployeeDates: 105.

Example:  

Peek() fonksiyonu henüz yüklenmeyen verilere referansta bulunmak için kullanılabilir.

Ö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.

T1:

LOAD * inline [

ID|Value

1|3

1|4

1|6

3|7

3|8

2|1

2|11

5|2

5|78

5|13

] (delimiter is '|');

T2:

LOAD

*,

IF(ID=Peek('ID'), Peek('List')&','&Value,Value) AS List

RESIDENT T1

ORDER BY ID ASC;

DROP TABLE T1;

 

Create a table in a sheet in your app with ID, List, and Value as the dimensions.

Sonuç tablosu
Kimlik Liste Değer
1 6 6
1 6,3 3
1 6,3,4 4
2 11 11
2 11,10 10
2 11,10,1 1
3 8 8
3 8,7 7
5 13 13
5 13,2 2
5 13,2,78 78

IF() deyimi T1 geçici tablosundan oluşturulur.
Peek('ID'), geçerli tablo T2 içinde bir önceki satırda bulunan ID alanına referansta bulunur.
Peek('List'), ifade değerlendirildiği sırada oluşturulmakta olan T2 tablosunda bir önceki satırda bulunan List alanına referansta bulunur.

Deyim şöyle değerlendirilir:
Mevcut ID değeri, önceki ID değeriyle aynıysa, Peek('List') değerini mevcut Value değeri ile birleştirilmiş olarak yazın. Aksi takdirde sadece mevcut Value değerini yaz.

Peek('List') zaten birleştirilmiş bir sonuç içeriyorsa, yeni Peek('List') sonucu buna birleştirilir.

Not: Order by cümlesine dikkat edin. Bu cümle tablonun nasıl sıralandığını belirtir (ID alanına göre artan sırada). Bu olmadan, Peek() fonksiyonu dahili tablonun rastgele düzenlemesini kullanır ve bu da öngörülemez sonuçlara yol açabilir.

Example:  

LOAD A, B, numsum( B, Peek( 'Bsum' ) ) as Bsum...;

Bsum içinde B toplamasını oluşturur.