# After - 圖表函數

After() 傳回以樞紐分析表的維度值評估而得的運算式值，這些值會顯示在樞紐分析表的列區段內，目前資料行之後的資料行中。

語法：

after([TOTAL] expr [, offset [, count ]])

資訊備註當任何圖表運算式使用了此圖表函數時，就不允許在圖表中依據 Y 值排序，或在表格中依據運算式資料行排序。因此，這些排序替代選項會自動停用。若您在視覺化或表格中使用此圖表函數，視覺化的排序將還原為對此函數的排序輸入。

資訊備註 此函數在所有圖表類型中都會傳回 NULL，除了樞紐分析表以外。

引數

| 引數 | 描述 |
| --- | --- |
| expr | 包含待測量之資料的運算式或欄位。 |
| offset | 將一個 offset n 指定為大於 1，則可將運算式的評估從目前欄往右移動 n 欄。<br><br>若將位移指定為 0，則會根據目前欄來評估運算式。<br><br>若指定負值的位移，會讓 After 函數的作用相當於包含對應正值位移的 Before 函數。 |
| count | 將第三個參數 count 指定為大於 1，函數會傳回一系列值，從原始儲存格往右算，每個表格欄的值最多為 count 個。 |
| TOTAL | 如果表格為單一維度或 TOTAL 限定詞作為引數，則目前資料行區段一律等於整個資料行。<br><br>[定義彙總範圍](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

會對列區段的最後一個資料行傳回 NULL，因為在此資料行之後沒有任何資料行。

如果樞紐分析表有多個水平維度，則目前列區段僅會包括在所有維度列中與目前資料行有相同值的資料行 (顯示欄位間排序順序之最後一個水平維度的列除外)。樞紐分析表中水平維度的欄位間排序順序，可簡單透過維度從上至下的順序來定義。。

範例：圖表運算式

| 範例 | 結果 |
| --- | --- |
| `After( Sum(Sales ))` | 傳回相對於目前欄右側下一欄的 `Sales` 總和。 |
| `After( Sum(Sales ), 2)` | 傳回距離目前欄右側兩個欄的欄中的 `Sales` 總和。 |
| `After( Total Sum( Sales ))` | 傳回相對於目前欄右側下一欄的 `Sales` 總和總計。 |
| `RangeAvg (After(Sum(x),1,3))` | 根據緊接在目前資料行右方的三個資料行，傳回所評估 `sum(x)` 函數之三個結果的平均值。 |

## 範例 - After 基礎事項

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

#### 圖表運算式

概述

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `Year`

  * `Quarter`

  * `Sales`

載入指令碼

```
Example:
Load * inline [
Year, Quarter, Sales
2023, Q1, 5000
2023, Q2, 4000
2023, Q3, 6000
2023, Q4, 7000
];
```

結果

載入資料並開啟工作表。建立新的樞紐分析表並將此欄位新增為列維度：

* `Year`

新增此欄位作為欄維度：

* `Quarter`

建立下列量值：

* `=Sum(Sales)`，用來計算銷售總和。

* `=After(Sum(Sales))`，用來顯示下一季的銷售總和。

結果表格

| 年 | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | 之後(加總(銷售額)) | Sum(Sales) | 之後(加總(銷售額)) | Sum(Sales) | 之後(加總(銷售額)) | Sum(Sales) | 之後(加總(銷售額)) |  |
| 2023 | 5000 | 4000 | 4000 | 6000 | 6000 | 7000 | 7000 | - |

查看結果，您可以看到 `After` 函數如何傳回每個 `Quarter` 的 `Sum(Sales)` 欄右側下一欄的值。例如，在 `Q1` 中，該期間的 `Sum(Sales)` 值為 `5000`。`Q1` 的 `After` 函數輸出為 `4000`，因為這是 `Q1` 的 `Sum(Sales)` 右側欄的值，即 `Q2` 的 `Sum(Sales)`。

## 範例 - After 使用情境

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

#### 圖表運算式

概述

資料集包含某電子公司數年的單位銷售數據。該公司希望呈現每年的總銷售額，並比較逐年的單位銷售額。

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `Year`

  * `Sales`

載入指令碼

```
Example:
Load * inline [
Year, Sales
2021, 1350
2022, 1840
2023, 2250
2024, 1750
];
```

結果

載入資料並開啟工作表。建立新的樞紐分析表並將此欄位新增為欄維度：

* ` Year
                                       `

建立下列量值：

* `=Sum(Sales)`，用來計算銷售總和。

* `=Sum(Sales) - After(Sum(Sales))`，用來計算逐年銷售額的差異。

結果表格

| 年 | 2021 | 2022 | 2023 | 2024 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | 總和(銷售額)-之後(總和(銷售額)) | Sum(Sales) | 總和(銷售額)-之後(總和(銷售額)) | Sum(Sales) | 總和(銷售額)-之後(總和(銷售額)) | Sum(Sales) | 總和(銷售額)-之後(總和(銷售額)) |  |
| 2023 | 1350 | -490 | 1840 | -410 | 2250 | 500 | 1750 | - |

結果顯示了每年的銷售總和以及逐年的銷售數據差異。例如，在 `2022` 中，`Sum(Sales)` 為 `1840`。`After` 函數的輸出顯示此值比 `2023` 的銷售總和少了 `410` 個單位。

## 範例 - After 進階使用情境

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

#### 圖表運算式

概述

資料集包含數年的銷售數據。該公司希望呈現本年度的總銷售額以及未來 3 年的累積總銷售額。

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `SalesYear`

  * `Sales`

載入指令碼

```
Example:
Load * inline [
SalesYear, Sales
2021, 1300
2022, 1800
2023, 2000
2024, 2150
];
```

結果

載入資料並開啟工作表。建立新的樞紐分析表並將此欄位新增為欄維度：

* `SalesYear`

建立下列量值：

* `=Sum(Sales)`，用來計算銷售總和。

* `=RangeSum(After(Sum(Sales),1,3))`，用來計算未來 3 年的銷售總和。

結果表格

| 2021 | 2022 | 2023 | 2024 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | RangeSum(After(Sum(銷售額),1,3)) | Sum(Sales) | RangeSum(After(Sum(銷售額),1,3)) | Sum(Sales) | RangeSum(After(Sum(銷售額),1,3)) | Sum(Sales) | RangeSum(After(Sum(銷售額),1,3)) |
| 1300 | 5950 | 1800 | 4150 | 2000 | 2150 | 2150 | 0 |

結果顯示如何使用 `After` 函數傳回未來三年的銷售值總和。例如，在 `2021` 中，年度 `Sum(Sales)` 為 `1300`，未來 3 年 (`2022, 2023, 2024`) 的銷售總和為 `5950`。由於未來幾年的資料無法使用，會為 `2024` 傳回值 `0`。