RangeFractile - script- en diagramfunctie
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:
De argumenten van deze functie kunnen interrecordfuncties bevatten die op hun beurt een lijst met waarden opleveren.
Argument | Beschrijving |
---|---|
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 en resultaten:
Voorbeelden | Resultaten |
---|---|
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:
Voeg het voorbeeldscript toe aan uw app en voer het uit. Voeg vervolgens de velden die in de resultatenkolom staan toe aan een werkblad in uw app 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 |
Voorbeeld met 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
] ;