# 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/ru-RU/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) | 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` возвращает значение следующего столбца, который находится непосредственно справа от столбца `Sum(Sales)`, для каждого `Quarter`. Например, в `Q1` значение `Sum(Sales)` для этого периода равно `5000`. Функция `After` для `Q1` возвращает `4000`, потому что это значение столбца, расположенного непосредственно справа от `Sum(Sales)` для `Q1`, а именно `Sum(Sales)` для `Q2`.

## Пример. Сценарий использования функции 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` показывает, что это значение было на `410` единиц меньше, чем сумма продаж в `2023`.

## Пример. Расширенный сценарий использования функции After

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

#### Выражение диаграммы

Обзор

Набор данных содержит показатели продаж за несколько лет. Компания хочет представить общий объем продаж за текущий год и скользящий итог продаж за следующие три года.

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, который загружается в таблицу данных под именем `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))`, чтобы вычислить сумму продаж для следующих трех лет.

Результирующая таблица

| 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` для получения суммы продаж за следующие три года. Например, в `2021` сумма `Sum(Sales)` за год равна `1300`, а сумма продаж за следующие 3 года (`2022, 2023, 2024`) равна `5950`. Значение `0` возвращается для `2024`, потому что данные за будущие годы недоступны.