FirstSortedValue - grafik 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öz Dizimi:
FirstSortedValue([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] value, sort_weight [,rank])
Dönüş verileri türü: dual
Bağımsız Değişkenler:
Bağımsız Değişken | Açıklama |
---|---|
value | Çıkış alanı. Fonksiyon, sort_weight sıralamasının sonucuna karşılık gelen value ifadesi 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, geçerli seçimlerde verilen tüm olası değerler üzerinden yapılır; yani grafik boyutlarını göz ardı eder. TOTAL niteleyicisinden sonra grafik boyut değişkenlerinin bir alt kümesi olarak bir veya daha çok alan adının geldiği TOTAL [<fld {.fld}>] niteleyicisini kullanarak toplam olası değerlerin bir alt kümesini oluşturursunuz. |
Örnekler ve sonuçlar:
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 |
Ö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 '|');