Question

i am writing pl/pgsql function that does some statistics processing. using 8.2 of postgres. i want to use this handy aggregate function:

regr_slope(Y, X)

but, i have my X and Y data stored as local arrays in the pl/pgsql function: y double precision[]; x double precision[];

trouble is when i use this as a line in the pl/pgsql function:

slope := regr_slope(y, x);

i get an error saying that function isn't available or has the wrong arguments. i suspect it's because the inputs are supposed to be selected as columns from a table instead of being passed as double precision arrays.

is there a way to make the regr_slope function with local arrays? (ie, some way to cast the array to be a valid input to an aggregate function?)

thank you.

Was it helpful?

Solution

SELECT regr_slope(x,y) INTO slope FROM (SELECT unnest(ARRAY[1,2,3,4]) as x, unnest(ARRAY[5,6,7,8]) AS y) AS z;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top