sql计算线性趋势
发布日期:
2023-06-07
浏览量:
728

业务背景

Excel中可以为统计图添加趋势线,常用的线性趋势,如下图

image.png

在报表或者仪表板中的统计图需要显示趋势线的需求,需要在后台对数据进行计算。较理想的方式就是通过spl计算线性趋势数据。

实现方式

1、 首先找到线性趋势计算公式,如下图分别是斜率和截距的公式,

线性趋势=斜率*X+截距

image.png

2、 编写spl脚本实现线性趋势计算

=create(D)

//创建一个D字段的序表

=data

//数值数组参数

=A1.record(data,0)

//data数据插入序表

=A1.derive(#:X,float(D):Y)

//序表添加X,Y字段

=A4.(X*Y).sum()

//XY

=A4.count()

//n

=A4.avg(X)

//X平均

=A4.avg(Y)

//Y平均

=A5-A6*A7*A8

//斜率分子

=A4.(X*X).sum()

//X平方和

=A6*A7*A7

//n*X平均*X平均

=A10-A11

//斜率分母

=A9/A12

//斜率

=A8-A13*A7

//截距

=A4.derive(A13*X+A14:L)

//计算趋势

return A15.(L)

//返回趋势数据