Örnek kodu uygulamanıza ekleyin ve çalıştırın. Sonra sonucu görmek için en azından 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:
|
EmployeeCode 101 102 103 104 105 106
|
EmpCode - - 101 102 103 104
|
|
|
FirstEmployee:
Load EmployeeCode, Peek('EmployeeCode',-2,'EmployeeDates') As EmpCode
Resident EmployeeDates;
|
table_no bağımsız değişkeninin 'EmployeeDates' olarak belirtilmesiyle fonksiyon, EmployeeDates tablosundaki sondan ikinci EmployeeCode değerini döndürür: 105. |
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 en azından 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;
|
Uygulamanızdaki bir sayfada boyut olarak ID, List ve Value öğelerini içeren bir tablo oluşturun. |
ID |
List |
Value |
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.
|
|