RangeFractile - script- en grafiekfunctie
RangeFractile() retourneert de waarde die correspondeert met het n-de fractile (kwantiel) van een reeks getallen.
Syntaxis:
RangeFractile(fractile, first_expr[, Expression])
Retourgegevenstypen: numeriek
Argumenten:
Het argument van deze functie kan interrecordfuncties bevatten die op hun beurt een bereik van waarden opleveren.
- fractile: Een getal tussen 0 en 1 die correspondeert met de fractiel (kwantiel uitgedrukt als een fractie) die moet worden berekend.
- first_expr: De uitdrukking die of het veld dat de gegevens bevat die moeten worden gemeten.
- Expression: Optionele uitdrukkingen of velden die het gegevensbereik bevatten dat moet worden gemeten.
Voorbeelden:
Voorbeeld | Resultaat |
---|---|
RangeFractile (0.24,1,2,4,6) | Retourneert 1.72 |
RangeFractile(0.5,1,2,3,4,6) |
Retourneert 3 |
RangeFractile (0.5,1,2,5,6) |
Retourneert 3.5 |
Voorbeeld: (gebruikt uitdrukking)
RangeFractile (0.5, Above(Sum(MyField),0,3))
In dit voorbeeld bevat de inter-recordfunctie Above() de optionele argumenten offset en count. Dit levert een bereik van resultaten op dat kan worden gebruikt als invoer voor elk van de bereikfuncties. In dit geval retourneert Above(Sum(MyField),0,3) de waarden van MyField voor de huidige rij en de twee rijen erboven. Deze waarden vormen de invoer voor de functie RangeFractile(). Dus voor de onderste rij van de onderstaande tabel is dit het equivalent van RangeFractile(0.5, 3,4,6), oftewel de berekening van de 0.5 fractiel voor de serie 3, 4 en 6. In de eerste twee rijen in de onderstaande tabel wordt het aantal waarden in het bereik dienovereenkomstig verlaagd in gevallen waarbij er geen rijen boven de huidige rij zijn. Andere inter-recordfuncties leveren vergelijkbare resultaten op.
MyField | RangeFractile(0.5, Above(Sum(MyField),0,3)) |
---|---|
1 | 1 |
2 | 1.5 |
3 | 2 |
4 | 3 |
5 | 4 |
6 | 5 |
Gegevens die worden gebruikt in voorbeelden:
RangeTab:
LOAD * INLINE [
MyField
1
2
3
4
5
6
] ;
Voorbeeld: (in tabelvorm)
Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.
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
];
De resulterende tabel bevat de geretourneerde waarden van MyRangeFrac voor elk van de records in de tabel.
RangeID | MyRangeFrac |
---|---|
1 | 6 |
2 | 3 |
3 | 8 |
4 | 11 |
5 | 5 |
6 | 4 |