# 如何使用 linest 函数的示例

linest 函数用于查找与线性回归分析相关的值。本节介绍如何通过使用样本数据查找 Qlik Sense中可用的 linest 函数值来创建 可视化内容。linest 所有函数均可用于数据加载脚本和图表表达式。

有关语法和参数的说明，请参阅单独的 linest 图表函数和脚本函数主题。

## 示例中使用的数据和脚本表达式

在下面的 linest() 示例的数据加载编辑器中加载以下内联数据和脚本表达式。

```
T1:
LOAD *, 1 as Grp;
LOAD * inline [
X|Y
1|0
2|1
3|3
4|8
5|14
6|20
7|0
8|50
9|25
10|60
11|38
12|19
13|26
14|143
15|98
16|27
17|59
18|78
19|158
20|279 ] (delimiter is '|');
			
R1:
LOAD 
Grp,
linest_B(Y,X) as Linest_B,
linest_DF(Y,X) as Linest_DF,
linest_F(Y,X) as Linest_F,
linest_M(Y,X) as Linest_M,
linest_R2(Y,X) as Linest_R2,
linest_SEB(Y,X,1,1) as Linest_SEB,
linest_SEM(Y,X) as Linest_SEM,
linest_SEY(Y,X) as Linest_SEY,
linest_SSREG(Y,X) as Linest_SSREG,
linest_SSRESID(Y,X) as Linest_SSRESID
resident T1 group by Grp;
			
```

有关使用内联加载的详细信息，请参见[使用内联加载来加载数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)。

## 示例 1：使用 linest 的脚本表达式

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/linest-example.htm)

#### 示例：脚本表达式

### 从数据加载脚本计算创建可视化

使用以下字段作为列在 Qlik Sense 工作表中创建表格可视化：

* Linest\_B
* Linest\_DF
* Linest\_F
* Linest\_M
* Linest\_R2
* Linest\_SEB
* Linest\_SEM
* Linest\_SEY
* Linest\_SSREG
* Linest\_SSRESID

### 结果

表格包含在数据加载脚本中执行 linest 计算的结果，如下所示：

结果表

| Linest\_B | Linest\_DF | Linest\_F | Linest\_M | Linest\_R2 | Linest\_SEB |
| --- | --- | --- | --- | --- | --- |
| -35.047 | 18 | 20.788 | 8.605 | 0.536 | 22.607 |

结果表

| Linest\_SEM | Linest\_SEY | Linest\_SSREG | Linest\_SSRESID |
| --- | --- | --- | --- |
| 1.887 | 48.666 | 49235.014 | 42631.186 |

## 示例 2：使用 linest 的图表表达式

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/linest-example.htm)

#### 示例：图表表达式

使用以下字段作为维度在 Qlik Sense 工作表中创建表格可视化：

`ValueList('Linest_b', 'Linest_df','Linest_f', 'Linest_m','Linest_r2','Linest_SEB','Linest_SEM','Linest_SEY','Linest_SSREG','Linest_SSRESID')`

该表达式使用组合维度函数为具有 linest 函数名称的维度创建标签。您可以将标签更改为 Linest functions 以节省空间。

在表格中添加以下表达式作为度量。

`Pick(Match(ValueList('Linest_b', 'Linest_df','Linest_f', 'Linest_m','Linest_r2','Linest_SEB','Linest_SEM','Linest_SEY','Linest_SSREG','Linest_SSRESID'),'Linest_b', 'Linest_df','Linest_f', 'Linest_m','Linest_r2','Linest_SEB','Linest_SEM','Linest_SEY','Linest_SSREG','Linest_SSRESID'),Linest_b(Y,X),Linest_df(Y,X),Linest_f(Y,X),Linest_m(Y,X),Linest_r2(Y,X),Linest_SEB(Y,X,1,1),Linest_SEM(Y,X),Linest_SEY(Y,X),Linest_SSREG(Y,X),Linest_SSRESID(Y,X) )`

该表达式将根据组合维度中的相应名称显示每个 linest 函数的结果值。`Linest_b(Y,X)` 的结果显示在 linest\_b 旁边，以此类推。

### 结果

结果表

| Linest functions | Linest function results |
| --- | --- |
| Linest\_b | -35.047 |
| Linest\_df | 18 |
| Linest\_f | 20.788 |
| Linest\_m | 8.605 |
| Linest\_r2 | 0.536 |
| Linest\_SEB | 22.607 |
| Linest\_SEM | 1.887 |
| Linest\_SEY | 48.666 |
| Linest\_SSREG | 49235.014 |
| Linest\_SSRESID | 42631.186 |

## 示例 3：使用 linest 的图表表达式

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/linest-example.htm)

#### 示例：图表表达式

1. 在 Qlik Sense 工作表中创建条形图可视化，其中 X 为尺寸标注，Y 为度量。
2. 将线性趋势线添加到 Y 度量。
3. 添加 KPI 可视化到工作表。
   1. 添加 slope 作为 KPI 标签。
   2. 添加 `sum(Linest_M)` 作为 KPI 表达式。
4. 添加第二个 KPI 可视化到工作表。
   1. 添加 intercept 作为 KPI 标签。
   2. 添加 `Sum(Linest_B)` 作为 KPI 表达式。
5. 添加第三个 KPI 可视化到工作表。
   1. 添加确定系数作为 KPI 的标签。
   2. 添加 `Sum(Linest_R2)` 作为 KPI 表达式。

### 结果

![](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/linest-charts.png)

### 解释

条形图显示 X 和 Y 数据的绘图。相关 linest() 函数为趋势线所依据的线性回归方程提供值，即 y = m \* x + b。该方程使用“最小二乘”方法，通过返回描述最适合数据的直线的数组来计算直线（趋势线）。

KPI 显示 linest() 函数 sum(Linest\_M) 用于斜率和 Y 截距的 sum(Linest\_B)，这是线性回归方程中的变量，以及相应的确定系数聚合 R2 值。