# XNPV — funkcja wykresu

Funkcja XNPV() zwraca zagregowaną wartość bieżącą netto dotyczącą harmonogramu przepływów pieniężnych (niekoniecznie okresowych) reprezentowanych przez połączone w pary liczby zwracane przez wyrażenia podane jako pmt i date, iterowane po wymiarach wykresu. Wszystkie płatności są obejmowane upustem na podstawie roku zawierającego 365 dni.

Składnia:

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

Typ zwracanych danych: liczbowy

InformacjaDomyślnie wynik zostanie sformatowany jako waluta.

Wzór na obliczanie XNPV został pokazany poniżej:

Wzór na agregację XNPV

Wzór na agregację XNPV

Wzór na agregację XNPV ![Obraz wzoru funkcji skryptu XNPV.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-xnpv-formula.png)

gdzie:

* `P``i` = wpływy pieniężne netto - wypływy podczas pojedynczego okresu `i`

* `d``1`= data pierwszej płatności

* `d``i` = data `i`-tej płatności

* `rate` = stopa dyskontowa

Wartość bieżąca netto (Net Present Value – NPV) służy do obliczania bieżącej wartości łącznej przyszłego strumienia przepływów pieniężnych na podstawie podanej stopy dyskontowej. Aby obliczyć XNPV, musimy oszacować przyszłe przepływy pieniężne z odpowiadającymi im datami. Następnie dla każdej płatności stosujemy składaną stopę dyskontową opartą na dacie płatności.

Agregacja XNPV dla serii płatności jest podobna do agregacji Sum dla tych płatności. Różnica polega na tym, że każda kwota jest modyfikowana (lub „dyskontowana”) w zależności od wybranej stopy dyskontowej (podobnej do stopy procentowej) oraz odstępu czasowego przyszłych płatności. Wykonanie XNPV z parametrem discount\_rate ustawionym na zero spowoduje, że operacja XNPV będzie równoważna operacji Sum (płatności nie zostaną zmodyfikowane przed zsumowaniem). Ogólnie rzecz biorąc, im bliższy zera jest parametr discount\_rate, tym bardziej wynik XNPV będzie podobny do wyniku agregacji Sum.

Argumenty

| Argument | Opis |
| --- | --- |
| discount\_rate | discount\_rate to roczna stopa, o którą należy zdyskontować płatności.<br><br>Wartość 0,1 oznaczałaby stopę dyskontową w wysokości 10%. |
| pmt | Płatności. Wyrażenie lub pole zawierające płatności w ramach przepływów pieniężnych odpowiadające harmonogramowi płatności podanemu argumentem date. Zakłada się, że wartości dodatnie to wpływy, a wartości ujemne to odpływy.<br><br>InformacjaFunkcja XNPV() nie dyskontuje początkowego przepływu środków pieniężnych, ponieważ będzie on zawsze występować w dniu rozpoczęcia. Kolejne płatności są dyskontowane na podstawie roku zawierającego 365 dni. W funkcji NPV() jest inaczej, ponieważ w jej przypadku także pierwsza płatność jest dyskontowana. |
| date | Wyrażenie lub pole zawierające harmonogram dat odpowiadających płatnościom w ramach przepływów pieniężnych podanym argumentem pmt. Pierwsza wartość określa datę początkową do obliczania przesunięć czasowych dla przyszłych przepływów pieniężnych. |
| TOTAL | Jeśli słowo TOTAL występuje przed argumentami funkcji, wówczas obliczenie jest wykonywane względem wszystkich możliwych wartości z uwzględnieniem bieżących selekcji, nie tylko tych należących do bieżącej wartości wymiaru, to znaczy z pominięciem wymiarów wykresu.<br><br>Korzystając z polecenia TOTAL [&lt;fld {.fld}&gt;], gdzie po kwalifikatorze TOTAL podana jest lista nazw pól stanowiących podzbiór zmiennych wymiarów wykresu, można utworzyć podzbiór wszystkich możliwych wartości.<br><br>[Określenie zakresu agregacji](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Podczas pracy z tą funkcją obowiązują następujące ograniczenia:

* Argumenty discount\_rate, pmt i date nie mogą zawierać funkcji agregacji, chyba że takie wewnętrzne funkcje agregacji zawierają kwalifikatory TOTAL lub ALL. W przypadku bardziej zaawansowanych agregacji zagnieżdżonych należy stosować zaawansowaną funkcję w Aggrpołączeniu z określonym wymiarem.

* Wartości tekstowe, wartości NULL i wartości brakujące w dowolnej części pary danych powodują pominięcie całej pary danych.

## Kiedy używać XNPV

* Funkcja `XNPV()` jest używana w modelowaniu finansowym do obliczania bieżącej wartości netto (NPV) potencjalnej inwestycji.

* Funkcja XNPV jest dokładniejsza i dlatego jest preferowana w porównaniu z NPV we wszystkich typach modeli finansowych.

## Ustawienia regionalne

Jeżeli nie podano inaczej, w przykładach w tym temacie stosowany jest następujący format daty: MM/DD/YYYY. Format daty jest określony w instrukcji `SET DateFormat` w skrypcie ładowania danych. Domyślny format daty w Twoim systemie może być inny ze względu na ustawienia regionalne i inne czynniki. Formaty zastosowane w przykładach można zmienić, aby dostosować je do własnych wymagań. Zamiast tego można też zmienić formaty w skrypcie ładowania, aby pasowały do tych przykładów. Więcej informacji można znaleźć w temacie [Modyfikowanie ustawień regionalnych na potrzeby aplikacji i skryptów](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Domyślne ustawienia regionalne w aplikacjach są oparte na profilu użytkownika. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Cloud. Interfejs Qlik Cloud będzie wyświetlany w tym samym języku co używana przeglądarka.

Jeżeli jesteś twórcą aplikacji, możesz wybrać domyślny region dla tworzonych przez siebie aplikacji. Więcej informacji zawiera temat [Ustawianie preferowanych ustawień regionalnych do tworzenia aplikacji i skryptów w Analityka Qlik Cloud](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Przykład

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

#### Skrypt ładowania i wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych zawierający transakcje przepływów pieniężnych.

* Informacje przechowywane w tabeli o nazwie `Cashflow`.

Skrypt ładowania

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

Wyniki

Wykonaj następujące czynności:

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj następujące obliczenie jako miarę:

`=XNPV(0.09, Payments, Date)`

Tabela wynikowa

| =XNPV(0.09, Payments, Date) |
| --- |
| $3062.49 |

## Dowiedz się więcej

* [NPV — funkcja wykresu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FinancialAggregationFunctionsInCharts/npv.htm)
* [Aggr — funkcja wykresu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/aggr.htm)