# FirstSortedValue - komut dosyası 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 (FirstSortedValue ([ distinctdistinct ] value, sort-weight [, rank ] ] 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.