RangeFractile - skript- och diagramfunktion
RangeFractile() returnerar det värde som motsvarar den n:te fractile (kvantilen) av ett talintervall.
Syntax:
RangeFractile(fractile, first_expr[, Expression])
Returnerad datatyp: numeriska
Argument:
Argumentet hos denna funktion kan innehålla postöverskridande funktioner som i sig själva returnerar ett intervall av värden.
- 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:
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: (uttryck används)
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
] ;
Exempel: (som tabell)
Lägg till exempelskriptet i dokumentet och kör det. Lägg sedan till åtminstone de fält som listas i resultatkolumnen på ett ark i dokumentet för att se resultatet.
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 |