

sub int[]; -- 计算过程中用到的数组下标
res_sub int[]; -- 计算结果用到的数组下标
comp_rat numeric; -- 计算过程中存储的压缩率
res_comp_rat numeric := 0; -- 计算结果的压缩率
cols_w_avg int[] := array[4, 1028, 4, 4, 8]; -- 参与计算的字段, 对应的平均宽度
dup_rat numeric[] := array[0.941288981586695, 0.999979166666666666666667, 0.996877203229815, 0.999979166814228, 0.999697591731092]; -- 参与计算的字段, 对应的重复率
corr numeric[][];
begin
-- 计算字段之间的相关性, 存入矩阵corr[][]
execute
'
select
array[
array[1,c12,c13,c14,c15] ,
array[c12,1,c23,c24,c25] ,
array[c13,c23,1,c34,c35] ,
array[c14,c24,c34,1,c45] ,
array[c15,c25,c35,c45,1]
]
from
(
select
corr(c1,c2) c12,
corr(c1,c3) c13,
corr(c1,c4) c14,
corr(c1,c5) c15,
corr(c2,c3) c23,
corr(c2,c4) c24,
corr(c2,c5) c25,
corr(c3,c4) c34,
corr(c3,c5) c35,
corr(c4,c5) c45
from
(
select
rank() over(order by c1) c1,
传真:0755 - 2799 6625
投诉:133-2299-1235
邮箱:sale@inmiga.com