在SQL Server 2008 R2中如何进行统计分析?
0
大家好!
最近基于SQL Server 2008 R2进行数据存储和相关的统计报表开发。原来都是基于Excel进行相关操作,基本可以完成数据的保存、图表展示和相关的统计功能(Excel自带的函数以及相关插件)。
现在在SQL Server 2008 R2环境中,尚未能比较明晰的理解如何实现统计分析(是否需要安装插件)?
如:我现在要呈现一个展示今年和去年月度销量的报表,我还想在报表中展示两条曲线的相关系数(在Excel中用Correlation函数实现)。
我的环境是SQL Server 2008 R2, SSRS是在BIDS中开发的。
谢谢!
最近基于SQL Server 2008 R2进行数据存储和相关的统计报表开发。原来都是基于Excel进行相关操作,基本可以完成数据的保存、图表展示和相关的统计功能(Excel自带的函数以及相关插件)。
现在在SQL Server 2008 R2环境中,尚未能比较明晰的理解如何实现统计分析(是否需要安装插件)?
如:我现在要呈现一个展示今年和去年月度销量的报表,我还想在报表中展示两条曲线的相关系数(在Excel中用Correlation函数实现)。
我的环境是SQL Server 2008 R2, SSRS是在BIDS中开发的。
谢谢!
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
1 个回复
zengxinwen 2015-09-18 回答
赞同来自: 梁勇 、BIWORK
去年销售额=(Meaurses.[销售额],ParallelPeriod( 时间维度.层次结构,1,时间维层.年.currentMember ))
SSRS中了也可以用使用MDX获得对应的查询结果集。
关于求相关系数,在数据挖掘中,可以查询中出相关系数, 但是对于相关系数,可以使用相关系数的公式进行求解。
据说sql server 2016会集成R语言,那时会有完善。
R=协方差/(自变量1标准方差*自变2标准方差)
这一个我原来算一元线性方程的T-sql可作参考
with T as
(
select '2008-02' as year,45 as salary
union all
select '2008-03',55
union all
select '2008-04',66
union all
select '2008-05',77
)
select rank() OVER(ORDER BY year) AS x,YEAR,salary as y
into #one
from T
declare @u_x decimal(8, 2) --x的平均值
declare @u_y decimal(8, 2) --y的平均值
declare @s2_x decimal(8, 2)--X方差
declare @cov_x_y decimal(8, 2) --协方差
--############### 求平均值 ############
select @u_x= avg(x*1.0),@u_y=avg(y*1.0)
from #one
--############### 求平均值 ############
--############### 协方差,X方差 ############
select @cov_x_y=sum((x-@u_x)*(y-@u_y))/(select count(1) from #one),
@s2_x=sum (power((x-@u_x),2))
from #one
--############### 协方差,X方差 ############
declare @a decimal(8, 2),@b decimal(8,2)
set @a=@cov_x_y/@s2_x
set @b=@u_y-@a*@u_x
print 'y=a*x+b'
print 'y='+cast(@a as varchar(max))+'*x + '+cast(@b as varchar(max))
结果是
y=a*x+b
y=10.70*x + 34.00