# 如何使用 linest 函数的示例

linest 函数用于查找与线性回归分析相关的值。本节介绍如何通过使用样本数据查找 QlikView 中可用的 linest 函数值来创建图表。linest 该函数可在加载脚本和图表表达式中使用。

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

## 加载样本数据

执行以下操作：

1. 创建新文档。

2. 在工具栏中选择编辑脚本并将以下内容添加到脚本中：

   `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;`

3. 保存脚本并单击重新加载以加载数据。

## 显示脚本计算的结果

执行以下操作：

1. 在表格上添加表格框并选择要显示的以下字段：

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

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

示例结果（前 5 个条目）

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

示例结果（最后 5 个条目）

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

## 创建 linest 图表函数图表

执行以下操作：

1. 转至对话 &gt; 新建工作表对象 &gt; 图表...，可以创建新的折线图：

   * 在维度窗口中，添加 X 作为维度。
   * 在表达式窗口中，添加 Sum(Y) 作为度量。
   * 在外观窗口中，取消选择隐藏零值。

   创建折线图来表示根据 Y 绘制的 X 图形，在其中可以计算 linest 函数。

2. 对于表达式 Sum(Y)，启用线性趋势线功能并选中显示方程式。

   这将显示 QlikView 的内置最适合线以及所述线性回归函数。

3. 通过添加第二个表达式使用 linest\_b 和 linest\_m 函数计算线性回归函数，定义为：

   $(=LINEST\_M(Y,X))\*ONLY(X)+$(=LINEST\_B(Y,X))

4. 在工作表上添加一个垂直表并添加以下位置作为计算维度：

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

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

5. 在表格中添加以下表达式作为度量：

   ` 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 |