From: | Andre Mikulec <andre_mikulec(at)hotmail(dot)com> |
---|---|
To: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | trying to program in PostgreSQL C a statistics function |
Date: | 2017-06-11 16:57:10 |
Message-ID: | DM5PR15MB167617190CE5ADBE36805BEE9CCC0@DM5PR15MB1676.namprd15.prod.outlook.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
SUMMARY
------
I am trying to program in PostgreSQL a statistics function.
My old method in SQL is here.
select ( avg(measure) - 0.0 ) / nullif(stddev_pop(case when measure > 0.00 then 0.00 else measure end ),0) sortino_true from TABLE/VIEW;
The logic is based on
SORTINO RATIO: ARE YOU CALCULATING IT WRONG?
SEPTEMBER 11, 2013
https://www.rcmalternatives.com/2013/09/sortino-ratio-are-you-calculating-it-wrong/
In PostgreSQL C, how do I get access to the 'X' (data) variable?
DETAILS
-------
I see a similar function with other variables in here.
But I am not trying to re-program 'stddev_samp'.
float8_stddev_samp ( lines 2741 through 2767 )
https://github.com/postgres/postgres/blob/9a34123bc315e55b33038464422ef1cd2b67dab2/src/backend/utils/adt/float.c
N = transvalues[0];
sumX = transvalues[1];
sumX2 = transvalues[2];
The following article explains it and this makes sense.
Sum of Squares Formula Shortcut
https://www.thoughtco.com/sum-of-squares-formula-shortcut-3126266
I can match article symbols to PostgreSQL C varaibles.
numerator = N * sumX2 - sumX * sumX;
N * SIGMA(X**2) - (SIGMA(X))**2
BUT I NEED ...
--------------
However in my case,
I have this adjustement
"case when measure > 0.00 then 0.00 else measure end"
So the case seems that I need access to 'X'
but access to sumX and sumX2 are only shown.
How would I get accress to X?
May anyone point me to a simple good working example?
Thanks,
Andre Mikulec
Andre_Mikulec(at)Hotmail(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2017-06-11 17:18:48 | Re: Inconsistent performance with LIKE and bind variable on long-lived connection |
Previous Message | Steven Grimm | 2017-06-11 16:34:24 | Re: Inconsistent performance with LIKE and bind variable on long-lived connection |