RangeFractile - skript- och diagramfunktion
RangeFractile() returnerar det värde som motsvarar den n:te fraktilen (kvantilen) av ett talintervall.
Syntax:
RangeFractile(fractile, first_expr[, Expression])
Returnerad datatyp: numeriska
Argument:
Argumenten hos denna funktion kan innehålla postöverskridande funktioner som i sig returnerar en lista över värden.
Argument | Beskrivning |
---|---|
fractile | Ett tal mellan 0 och 1 som motsvarar den fraktil (kvantil uttryckt som bråkdel) som ska beräknas. |
first_expr | Det uttryck eller fält som innehåller de data som ska mätas. |
Expression | Valfria uttryck eller fält som innehåller de intervalldata som ska mätas. |
Exempel och resultat:
Exempel | Resultat |
---|---|
RangeFractile (0.24,1,2,4,6) | Returnerar 1,72 |
RangeFractile(0.5,1,2,3,4,6) |
Returnerar 3 |
RangeFractile (0.5,1,2,5,6) |
Returnerar 3,5 |
Exempel:
Lägg till exempelskriptet i appen och kör det. När du vill se resultatet lägger du till de fält som anges i resultatkolumnen i ett ark i din app.
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
];
Den resulterande tabellen visar de returnerade värdena för MyRangeFrac för varje post i tabellen.
RangeID | MyRangeFrac |
---|---|
1 | 6 |
2 | 3 |
3 | 8 |
4 | 11 |
5 | 5 |
6 | 4 |
Exempel med uttryck:
RangeFractile (0.5, Above(Sum(MyField),0,3))
I det här exemplet innehåller den postöverskridande funktionen Above() valbara parametrar för offset ochcount. Detta ger ett intervall av resultat som kan användas som indata för vilken som helst av intervallfunktionerna. I det här fallet returnerar Above(Sum(MyField),0,3) värdet för MyField för aktuell rad och för de två raderna ovanför. De här värdena tillhandahåller indata för funktionen RangeFractile(). Så för bottenraden i tabellen nedan är detta likvärdigt med RangeFractile(0.5, 3,4,6), det vill säga att beräkna 0,5-fraktilen för serien 3, 4 och 6. För de första två raderna i tabellen nedan minskas antalet värden i intervallet utifrån detta när det inte finns några rader ovanför aktuell rad. Liknande resultat fås för andra postöverskridande funktioner.
MyField | RangeFractile(0.5, Above(Sum(MyField),0,3)) |
---|---|
1 | 1 |
2 | 1.5 |
3 | 2 |
4 | 3 |
5 | 4 |
6 | 5 |
Data som används i exempel:
RangeTab:
LOAD * INLINE [
MyField
1
2
3
4
5
6
] ;