FirstSortedValue
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öz Dizimi:
FirstSortedValue([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] value, sort_weight [,rank])
Dönüş verileri türü: dual
Bağımsız Değişkenler:
- value: Çıktı alanı. Fonksiyon, sort_weight sıralamasının sonucuna karşılık gelen value ifadesinin değerini bulur.
- sort_weight: Giriş alanı. 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: 1'den büyük bir rank "n" belirttiğinizde n. sıralanan değeri alırsınız.
- SetExpression: Toplama işlevi, varsayılan olarak, seçim tarafından tanımlanmış olası kayıtlar kümesi üzerinden toplanır. Bir set analizi ifadesi ile alternatif bir kayıt kümesi tanımlanabilir.
- 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.
- TOTAL: TOTAL sözcüğü fonksiyon bağımsız değişkenlerinden önce gelirse, hesaplama yalnızca geçerli boyutsal değere ait olanlar için değil de, geçerli seçimlerde verilen tüm olası değerler üzerinden yapılır; yani grafik boyutlarını göz ardı eder. TOTAL niteleyicisinin ardından açılı ayraçlar içindeki bir veya daha fazla alan adından oluşan bir liste gelebilir <fld>. Bu alan adları grafik boyut değişkenlerinin bir alt kümesi olmalıdır.
Örnekler:
Örnek | Sonuç |
---|---|
firstsortedvalue (Product, UnitPrice) |
BB; yani, UnitPrice değeri (9) en düşük Product. |
firstsortedvalue (Product, UnitPrice, 2) |
BB; yani, UnitPrice değeri (10) en düşük ikinci Product. |
firstsortedvalue (Customer, -UnitPrice, 2) |
Betacab; yani, UnitPrice değeri (20) en yüksek ikinci Product sahibi Customer. |
firstsortedvalue (Customer, UnitPrice, 3) |
NULL; çünkü aynı rank (en düşük üçüncü) UnitPrice (15) ile iki Customer değeri (Astrida ve Canutility) var. Beklenmedik null sonuçları oluşmamasını sağlamak için distinct niteleyicisini kullanın. |
firstsortedvalue (Customer, -UnitPrice*UnitSales, 2) |
Canutility; yani UnitPrice ile UnitSales çarpımı (120) olarak en yüksek ikinci satış emri değerine sahip Customer. |
Örneklerde kullanılan veriler:
ProductData:
LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD||25
Canutility|AA|8|15
Canutility|CC||19
] (delimiter is '|');
Customer | Product | UnitSales | UnitPrice |
---|---|---|---|
Astrida | AA | 4 | 16 |
Astrida | AA | 10 | 15 |
Astrida | BB | 9 | 9 |
Betacab | BB | 5 | 10 |
Betacab | CC | 2 | 20 |
Betacab | DD | - | 25 |
Canutility | AA | 8 | 15 |
Canutility | CC | - | 19 |