Ana içeriğe geç Tamamlayıcı 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).

Söz Dizimi:  

Peek(field_name[, row_no[, table_name ] ] )

Dönüş verileri türü: dual

Bağımsız Değişkenler:  

Peek bağımsız değişkenleri
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, okunan son kaydı belirtir.

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 başvurursa, table_name dahil edilmelidir.

Sınırlamalar:  

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

Örnek 1:  

Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgenizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları 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:

Örnek 1 sonuçları
EmployeeCode EmpCode
101 -
102 -
103 101
104 102
105 103
106 104

Örnek 2:  

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.

Örnek 3:  

Peek() fonksiyonu henüz yüklenmemiş verilere başvurmak için kullanılabilir.

Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgenizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları 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;

 

Belgenizdeki bir sayfada boyut olarak ID, List ve Value öğelerini içeren bir tablo oluşturun.

Örnek 3 sonuçları
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 T2 tablosu içinde bir önceki satırda bulunan ID alanına başvurur.
Peek('List'), ifade değerlendirildiği sırada oluşturulmakta olan T2 tablosunda bir önceki satırda bulunan List alanına başvurur.

Deyim şöyle değerlendirilir:
Geçerli ID değeri, bir önceki ID değeriyle aynıysa, Peek('List') değerini, geçerli Value değeriyle bitişik şekilde yazın. Aksi takdirde yalnızca geçerli Value değerini yazın.

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

Bilgi notuOrder 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 sıralamasını kullanır ve bu da öngörülemez sonuçlara yol açabilir.

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!

Analiz Modernleştirme Programına katılın

Remove banner from view

Analiz Modernleştirme Programı ile değerli QlikView uygulamalarınızı ödün vermeden modernleştirin. Bize ulaşmak ve daha fazla bilgi almak için buraya tıklayın: ampquestions@qlik.com