# XNPV — функция диаграммы

XNPV() возвращает агрегированную чистую текущую стоимость для графика денежных потоков (не обязательно периодических), представленных парными числами в выражениях, выданных элементами pmt и date, которые повторяются в измерениях диаграммы. Все платежи учитываются на основе года с 365 днями.

Синтаксис:

XNPV([TOTAL [&lt;fld{,fld}&gt;]] discount\_rate, pmt, date)

Возвращаемые типы данных: число

Примечание к информацииПо умолчанию результат будет отформатирован как валюта.

Для расчета XNPV используется следующая формула:

Формула агрегирования XNPV

Формула агрегирования XNPV

Формула агрегирования XNPV ![Изображение формулы для функции скрипта XNPV.](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-xnpv-formula.png)

где:

* `P``i`= чистый приход-расход денежных средств в течение одного периода `i`

* `d``1`= дата первого платежа

* `d``i` = дата `i`^-го^ платежа

* `rate` = процент скидки

Чистая текущая стоимость (Net Present Value, NPV) используется для расчета текущей общей стоимости будущих потоков движения денежных средств с учетом ставки дисконта. Для расчета XNPV необходимо оценить будущие потоки движения денежных средств с соответствующими датами. После этого для каждого платежа применяется сложная ставка дисконта на основе даты платежа.

Выполнение агрегирования XNPV для серии платежей выполняется аналогично агрегированию суммы этих платежей. Разница заключается в том, что каждая сумма модифицируется (или «дисконтируется») в соответствии с выбранной дисконтной ставкой (подобно процентной ставке) и с тем, насколько далеко в будущем ожидается платеж. Выполнение XNPV с параметром discount\_rate=0 дает значение XNPV, равное результату операции суммирования (Sum) (платежи не модифицируются перед суммированием). В общем, чем ближе значение discount\_rate к нулю, тем ближе результат XNPV к результату агрегирования суммы.

Аргументы

| Аргумент | Описание |
| --- | --- |
| discount\_rate | discount\_rate — годовая ставка дисконта, на которую должны уменьшаться платежи.<br><br>Значение 0,1 соответствует скидке 10%. |
| pmt | Платежи. Выражение или поле, содержащее денежные потоки, соответствующие графику платежей, представленному в элементе date. Положительные значения воспринимаются рассматриваются как доходы, а отрицательные — как расходы.<br><br>Примечание к информацииXNPV() не уменьшает начальный поток денежных средств, так как он всегда происходит в дату начала. Последующие платежи учитываются на основе года с 365 днями. Эта функция отличается от функции NPV(), которая также применяет скидку к первому платежу. |
| date | Выражение или поле, содержащее график дат, соответствующих потоку денежных средств, представленному в элементе pmt. Первое значение используется как начальная дата при расчетах смещения для будущих денежных потоков. |
| TOTAL | Если слово TOTAL стоит перед аргументами функции, вычисление выполняется по всем возможным значениям, указанным в текущих выборках, а не только в тех, которые относятся к значению текущего измерения, т. е. измерения диаграммы игнорируются.<br><br>При использовании выражения TOTAL [&lt;fld {.fld}&gt;], где префикс TOTAL предшествует списку из одного или нескольких имен полей, выступающих в качестве подмножества переменных измерения диаграммы, создается подмножество всех возможных значений.<br><br>[Определение объема агрегирования](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

При работе с этой функцией действуют следующие варианты:

* Элементы discount\_rate, pmt и date не должны содержать функции агрегирования, если только эти внутренние агрегирования не содержат префиксы TOTAL или ALL. Для получения более расширенных вложенных агрегирований необходимо использовать расширенную функцию Aggr вместе с указанным измерением.

* Текстовые значения, значения NULL и отсутствующие значения в какой-либо или обеих частях пары значений приводят к игнорированию всей пары значений.

## Когда это следует использовать

* `XNPV()` используется при финансовом моделировании для расчета чистой текущей стоимости (NPV) инвестиционной возможности.

* Благодаря более высокой точности XNPV этой функции отдается предпочтение перед NPV для всех типов финансовых моделей.

## Региональные настройки

Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: ММ/ДД/ГГГГ. Формат даты указан в операторе `SET DateFormat` скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами.

Региональные настройки по умолчанию в приложениях основаны на системных региональных настройках компьютера или сервера, где установлено ПО Qlik Sense. Если на сервере Qlik Sense, к которому обращается пользователь, выбран шведский язык, то редактор загрузки данных будет использовать шведские региональные настройки для даты, времени и валюты. Эти параметры регионального формата не связаны с языком, отображаемым в интерфейсе пользователя Qlik Sense. Qlik Sense будет отображаться на языке, который используется в браузере.

## Пример

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FinancialAggregationFunctionsInCharts/xnpv.htm)

#### Скрипт загрузки и выражение диаграммы

Обзор

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

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

* Набор данных, содержащий транзакции потоков денежных средств.

* Информация, сохраненная в таблице под именем `Cashflow`.

Скрипт загрузки

```
Cashflow:
LOAD 2013 as Year, * inline [
Date|Payments
2013-01-01|-10000
2013-03-01|3000
2013-10-30|4200
2014-02-01|6800
] (delimiter is '|');
```

Результаты

Выполните следующие действия.

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте следующее вычисляемое измерение:

`=XNPV(0.09, Payments, Date)`

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

| =XNPV(0.09, Платежи, Дата) |
| --- |
| $3062.49 |

## Подробнее

* [NPV — функция диаграммы](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FinancialAggregationFunctionsInCharts/npv.htm)
* [Aggr — функция диаграммы](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/aggr.htm)