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:
Dönüş verileri türü: dual
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.
Ö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. |