# After - チャート関数

After() は、ピボット テーブルの行セグメント内の現在列の後の列に、ピボット テーブルの軸値で評価された expression の値を返します。

構文:

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

情報メモチャートの式いずれかにこのチャート関数が使用されている場合、チャートの y 値のソート、またはテーブルの式列ごとのソートは許可されません。よって、これらのソート機能は自動的に無効になります。ビジュアライゼーションまたはテーブルでこのチャート関数を使用すると、ビジュアライゼーションのソートは、レコード間の関数に対するソートされた入力の状態に戻ります。

情報メモ ピボット テーブル以外のすべてのチャート タイプの場合、この関数は NULL を返します。

引数

| 引数 | 説明 |
| --- | --- |
| expr | メジャーの対象となるデータが含まれている数式または項目。 |
| offset | offset n を 1 より大きい値にすると、数式の評価が現在の列からさらに右の n 列に移動します。<br><br>offset に 0 を指定すると、現在の列で数式が評価されます。<br><br>offset が負の値である場合、After 関数は、相応する正の offset 値が付いた Before 関数と同様に機能します。 |
| count | 3 番目のパラメーター count を 1 より大きい値に指定すると、関数は元のセルから右に数えて、テーブルの各列に対して count の値までの範囲の値を返します。 |
| TOTAL | テーブルが 1 軸の場合、または TOTAL 修飾子が引数として使用される場合は、現在の列セグメントは常に列全体と等しくなります。<br><br>[集計範囲の定義](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

行セグメントの最後の列では、これより後に列が存在しないため NULL 値が返されます。

ピボット テーブルに複数の水平軸が存在する場合、現在の行セグメントには、項目ソート順の最後の水平軸を示す行を除くすべての軸行の現在列と同じ値を持つ列だけが含まれます。ピボット テーブルの水平軸の項目間ソート順は、上から下への軸の順序で定義されます。。

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `After( Sum(Sales ))` | 現在の列のすぐ右にある次の列の `Sales` の合計を返します。 |
| `After( Sum(Sales ), 2)` | 現在の列の 2 列右にある列の `Sales` の合計を返します。 |
| `After( Total Sum( Sales ))` | 現在の列のすぐ右にある次の列の `Sales` の総合計を返します。 |
| `RangeAvg (After(Sum(x),1,3))` | 現在の列のすぐ右にある 3 つの列で評価された `sum(x)` 関数の 3 つの結果の平均を返します。 |

## 例 - 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) | After(Sum(Sales)) | Sum(Sales) | After(Sum(Sales)) | Sum(Sales) | After(Sum(Sales)) | Sum(Sales) | After(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)-After(Sum(Sales)) | Sum(Sales) | Sum(Sales)-After(Sum(Sales)) | Sum(Sales) | Sum(Sales)-After(Sum(Sales)) | Sum(Sales) | Sum(Sales)-After(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(Sales),1,3)) | Sum(Sales) | RangeSum(After(Sum(Sales),1,3)) | Sum(Sales) | RangeSum(After(Sum(Sales),1,3)) | Sum(Sales) | RangeSum(After(Sum(Sales),1,3)) |
| 1300 | 5950 | 1800 | 4150 | 2000 | 2150 | 2150 | 0 |

結果は、`After` 関数を使用して、今後 3 年間の売上値の合計を返す方法を示しています。たとえば、`2021` 年の年間 `Sum(Sales)` は `1300` で、今後 3 年間 (`2022, 2023, 2024`) の売上の合計は `5950` です。将来の年のデータを入手できないため、`2024` 年には `0` という値が返されます。