>>Median is a value in a series of numbers where there are an equal number of values less than and greater than. Not knowing if there may be duplicate values makes this a bit harder. I'd try for the arithmetic mean (by getting the minimumand maximum values via CALCULATE) as a starting point. Where to go from there, I haven't figured out.:-)
>
>You guys are making it too difficult :) It's just the (n+1)/2 value of an ordered list if odd # elements, or average of middle two values in the case of an even number of elements...Cetin is close, but no need to use array, I don't think...
Hi Bruce,
As I said to Cetin, I'm no statistian, so I'll humbly bow out here (but not without taking one more shot< g >).
LOCAL lnresult, lntotal, lnmin, lnmax
lnresult = 0
DIMENSION a_values[1]
SELECT nField;
FROM MyTable;
ORDER BY nField;
INTO CURSOR MyValues
lntotal = _TALLY
IF lntotal > 0
IF (lntotal / 2) = INT(lntotal / 2)
GOTO lntotal / 2
lnmin = MyValues.nField
SKIP
lnmax = MyValues.nField
lnresult = lnmin + ((lnmax - lnmin) / 2)
ELSE
GOTO CEILING(lntotal / 2)
lnresult = MyValues.nField
ENDIF
ENDIF
RETURN lnresult
How's this?
George
Ubi caritas et amor, deus ibi est