LinRegSlope
计算集合的线性回归,并返回回归线上斜率的值,即a的值,y = ax + b。
语法
LINREGSLOPE(set, numeric_value [, numeric_value])
参数
set | 返回集的有效多维表达式 (MDX)。 |
numeric_value | 第一个代表y轴, |
numeric_value | (可选)第二个代表x轴,如果没有指定第二个数值表达式,函数将使用指定集合中单元格的当前上下文作为x轴的值。 |
数学表达式
回归线 | ![]() |
公式中斜率 b 计算如下 | ![]() |
注:求和符号都省略了上下标
例:4个样本点(2,4),(3,7),(4,8),(5,9)
i | x | y |
---|---|---|
1 | 2 | 4 |
2 | 3 | 7 |
3 | 4 | 8 |
4 | 5 | 9 |
Avg | ![]() |
![]() |
代入公式中,求得b的值为1.6
示例一
with member [科目].[x] as LinRegSlope({[期间].[2023年].[2023年2季度].[2023年6月]:[期间].[2023年].[2023年3季度].[2023年9月]},[科目].&[50221],[科目].&[50220])
select {[科目].[x]} on rows, {[版本].&[50672]} on columns from [模型一]
where ([组织].&[50585],[场景].&[50685],[产品].&[50688])
运行结果:
产品 : 不分
场景 : 累计预算
期间 : 期间不分
组织 : 开发2部
科目 | 年初编报01版本 |
x | 1.60 |
由于[2023年6月]、[2023年7月]、[2023年8月]、[2023年9月]的[科目].&[50220]的值分别为2、3、4、5,[科目].&[50221]的值分别为4、7、8、9,样本点为(2,4),(3,7),(4,8),(5,9),所以[x]的值为1.6,和excel中结果相同。
示例二
with member [期间].[x] as LinRegSlope({[期间].[2023年].[2023年2季度].[2023年6月]:[期间].[2023年].[2023年3季度].[2023年9月]},[科目].&[50221])
select {[期间].[x]} on rows, {[版本].&[50672]} on columns from [模型一]
where ([组织].&[50585],[场景].&[50685],[产品].&[50688],[科目].&[50220])
运行结果:
产品 : 不分
场景 : 累计预算
科目 : 办公费
组织 : 开发2部
期间 | 年初编报01版本 |
x | 1.60 |
不指定第二个numeric_value,示例一指定的第二个numeric_value放在where后边的切片处,由于[2023年6月]、[2023年7月]、[2023年8月]、[2023年9月]的[科目].&[50220]的值分别为2、3、4、5,[科目].&[50221]的值分别为4、7、8、9,样本点为(2,4),(3,7),(4,8),(5,9),所以[x]的值为1.6,和excel中结果相同。