Ana içeriğe geç

FirstSortedValue - kod fonksiyonu

FirstSortedValue(), belirtilmesi halinde rank öğesinin de hesaba katılmasıyla, sort_weight bağımsız değişkeninin sonucuna karşılık gelen value içinde belirtilen ifadeden değeri döndürür. Birden fazla sonuç değeri, belirtilen rank için aynı sort_weight öğesini paylaşıyorsa fonksiyon NULL döndürür.

Sıralanan değerler bir group by cümlesi ile tanımlandığı şekilde bir dizi kayıt üzerinde yinelenir veya group by cümlesi tanımlanmazsa tüm veri kümesi çapında toplanır.

Söz Dizimi:  

FirstSortedValue ([ distinct ] value, sort-weight [, rank ])

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

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

FirstSortedValue bağımsız değişkenleri
Bağımsız Değişken Açıklama
value Expression Fonksiyon, sort_weight sıralamasının sonucuna karşılık gelen value ifadesinin değerini bulur.
sort-weight Expression Sıralanacak verileri içeren ifade. İlk (en düşük) sort_weight değeri bulunur (value ifadesinin karşılık gelen değeri bu değerden belirlenir). sort_weight öğesinin önüne bir eksi işareti koyarsanız, fonksiyon son (en yüksek) sıralanan değeri döndürür.
rank Expression

1'den büyük bir rank "n" belirttiğinizde n. sıralanan değeri alırsınız.

distinct

Fonksiyon bağımsız değişkenlerinden önce DISTINCT sözcüğü varsa fonksiyon bağımsız değişkenlerinin değerlendirilmesinden kaynaklanan çoğaltmalar göz ardı edilir.

Örnekler ve sonuçlar:  

Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgemizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları ekleyin.

Örnek 1:  

Temp:

LOAD * inline [

Customer|Product|OrderNumber|UnitSales|CustomerID

Astrida|AA|1|10|1

Astrida|AA|7|18|1

Astrida|BB|4|9|1

Astrida|CC|6|2|1

Betacab|AA|5|4|2

Betacab|BB|2|5|2

Betacab|DD|12|25|2

Canutility|AA|3|8|3

Canutility|CC|13|19|3

Divadip|AA|9|16|4

Divadip|AA|10|16|4

Divadip|DD|11|10|4

] (delimiter is '|');

 

FirstSortedValue:

LOAD Customer,FirstSortedValue(Product, UnitSales) as MyProductWithSmallestOrderByCustomer Resident Temp Group By Customer;

 

Örnek 1 sonuçları
Sonuç alanı (Müşteri) Sonuç değeri (MyProductWithSmallestOrderByCustomer)
Astrida CC
Betacab AA
Canutility AA
Divadip DD

Fonksiyon, en küçük UnitSales değerini (en küçük sipariş) içeren Customer değerini arayarak UnitSales değerlerini küçükten büyüğe sıralar.

Çünkü CC değeri Astrida müşterisi için en küçük siparişe (UnitSales değeri = 2) karşılık gelir. AA değeri Betacab müşterisi için en küçük siparişe (4) karşılık gelir; AA değeri Canutility müşterisi için en küçük siparişe (8) karşılık gelir ve DD değeri de Divadip müşterisi için en küçük siparişe (10) karşılık gelir.

Örnek 2:  

Önceki örnekte olduğu gibi Temp tablosunun yüklendiği varsayılırsa:

LOAD Customer,FirstSortedValue(Product, -UnitSales) as MyProductWithLargestOrderByCustomer Resident Temp Group By Customer;

 

Örnek 2 sonuçları
Sonuç alanı (Müşteri) Sonuç değeri (MyProductWithLargestOrderByCustomer)
Astrida AA
Betacab DD
Canutility CC
Divadip -

sort_weight bağımsız değişkeninin önünde bir eksi işareti bulunduğundan fonksiyon önce en büyük değeri sıralar.

Çünkü AA değeri Astrida müşterisi için en büyük siparişe (UnitSales değeri: 18) karşılık gelir; DD değeri Betacab müşterisi için en büyük siparişe (12) karşılık gelir ve CC değeri de Canutility müşterisi için en büyük siparişe (13) karşılık gelir. Divadip müşterisinin en büyük sipariş (16) için iki aynı değeri vardır; dolayısıyla bu bir null sonuç üretir.

Örnek 3:  

Önceki örnekte olduğu gibi Temp tablosunun yüklendiği varsayılırsa:

LOAD Customer,FirstSortedValue(distinct Product, -UnitSales) as MyProductWithSmallestOrderByCustomer Resident Temp Group By Customer;

 

Örnek 3 sonuçları
Sonuç alanı (Müşteri) Sonuç değeri (MyProductWithLargestOrderByCustomer)
Astrida AA
Betacab DD
Canutility CC
Divadip AA

distinct niteleyicisinin kullanılması dışında önceki örnekle aynıdır. Bu niteleyici Divadip için çoğaltma sonucun göz ardı edilerek null olmayan bir değer döndürülmesini sağlar.

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