Ana içeriğe geç

FirstSortedValue - kod fonksiyonu

FirstSortedValue(); en düşük birim fiyatına sahip ürünün adı gibi sort_weight bağımsız değişkeninin sıralamasının sonucuna karşılık gelen value içinde belirtilmiş ifadedeki değeri döndürür. Sıralama düzenindeki n. değer rank içinde belirtilebilir. 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:  

Bağımsız Değişkenler
Bağımsız Değişken Açıklama
value Expression Fonksiyon, sort_weight sıralamasının sonucuna karşılık gelen value ifadesi 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 uygulamanıza ekleyin ve çalıştırın. Sonra sonucu görmek için en azından sonuçlar sütununda listelenen alanları uygulamamızdaki bir sayfaya ekleyin.

Aşağıdaki sonuç sütunuyla aynı görünümü elde etmek için özellikler panelinde, Sıralama altında, Otomatik'ten Özel'e geçin ve sayısal ve alfabetik sıralamanın seçimini kaldırın.

Kod örnekleri
Örnek Sonuç

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;

Customer MyProductWithSmallestOrderByCustomer

Astrida CC

Betacab AA

Canutility AA

Divadip DD

Fonksiyon, UnitSales değerini, en küçük UnitSales bulunan Customer değerini arayarak 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.

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

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

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

Customer 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!