RangeFractile Komut dosyası ve grafik fonksiyonu
RangeFractile(), bir sayı aralığının n. fractile değerine (yüzdelik dilim) karşılık gelen değeri döndürür.
Söz Dizimi:
RangeFractile(fractile, first_expr[, Expression])
Dönüş verileri türü: sayısal
Bağımsız Değişkenler:
Bu fonksiyonun bağımsız değişkenleri, bir değer listesi döndüren kayıtlar arası fonksiyonlar içerebilir.
| Bağımsız Değişken | Açıklama |
|---|---|
| fractile | Hesaplanacak fraktile (kesir olarak ifade edilen yüzdelik dilim) karşılık gelen, 0 ile 1 arasında bir sayı. |
| first_expr | Hesaplanacak verileri içeren ifade veya alan. |
| Expression | Hesaplanacak veri aralığını içeren isteğe bağlı ifadeler veya alanlar. |
Örnekler ve sonuçlar:
| Örnekler | Sonuçlar |
|---|---|
| RangeFractile (0.24,1,2,4,6) | 1.72 döndürür |
| RangeFractile(0.5,1,2,3,4,6) |
3 döndürür |
| RangeFractile (0.5,1,2,5,6) |
3.5 döndürür |
Örnek:
Örnek kodu uygulamanıza ekleyin ve çalıştırın. Sonucu görmek için, sonuçlar sütununda listelenen alanları uygulamanızda bir sayfaya ekleyin.
RangeTab:
LOAD recno() as RangeID, RangeFractile(0.5,Field1,Field2,Field3) as MyRangeFrac INLINE [
Field1, Field2, Field3
10,5,6
2,3,7
8,2,8
18,11,9
5,5,9
9,4,2
];
Sonuçta oluşan tablo, tablodaki kayıtların her biri için döndürülen MyRangeFrac değerlerini gösterir.
| Aralık Kimliği | MyRangeFrac |
|---|---|
| 1 | 6 |
| 2 | 3 |
| 3 | 8 |
| 4 | 11 |
| 5 | 5 |
| 6 | 4 |
İfadeyi içeren örnek:
RangeFractile (0.5, Above(Sum(MyField),0,3))
Bu örnekte, kayıtlar arası fonksiyon Above(), isteğe bağlı offset ve count bağımsız değişkenlerini içermektedir. Böylece, aralık fonksiyonlarının herhangi biri için giriş olarak kullanılabilecek bir sonuç aralığı üretilir. Bu durumda, Above(Sum(MyField),0,3) geçerli satır ve üzerindeki iki satır için MyField değerlerini döndürür. Bu değerler RangeFractile() fonksiyonu için giriş değerlerini sağlar. Yani, aşağıdaki tablodaki en alt satır için bu, RangeFractile(0.5, 3,4,6) değerine eşdeğerdir, yani 3, 4 ve 6 serisi için 0,5 fraktilini hesaplamaktır. Aşağıdaki tablonun ilk iki satırında, geçerli satırın üzerinde satır bulunmadığı durumlarda, aralıktaki değer sayısı buna göre azaltılır. Diğer kayıtlar arası fonksiyonları için benzer sonuçlar üretilir.
| MyField | RangeFractile(0.5, Above(Sum(MyField),0,3)) |
|---|---|
| 1 | 1 |
| 2 | 1.5 |
| 3 | 2 |
| 4 | 3 |
| 5 | 4 |
| 6 | 5 |
Örneklerde kullanılan veriler:
RangeTab:
LOAD * INLINE [
MyField
1
2
3
4
5
6
] ;