NPV() komut dosyası fonksiyonu, bir indirim oranı ve döneme göre sıralanmış birden çok değer alır. Bu hesaplamalar için gelen akışların (gelirler) pozitif, giden akışların (gelecekteki ödemeler) negatif değerler olduğu varsayılır. Bunlar her dönemin sonunda gerçekleşir.
Net Bugünkü Değer veya NPV, gelecekteki nakit akışlarının geçerli toplam değerini hesaplamak için kullanılır. NPV'yi hesaplamak için her dönemin gelecek nakit akışlarını tahmin etmemiz ve doğru indirim oranını belirlememiz gerekir. NPV() komut dosyası fonksiyonu, bir indirim oranı ve döneme göre sıralanmış birden çok değer alır. Bu hesaplamalar için gelen akışların (gelirler) pozitif, giden akışların (gelecekteki ödemeler) negatif değerler olduğu varsayılır. Bunlar her dönemin sonunda gerçekleşir.
Söz Dizimi:
NPV(discount_rate, value)
Dönüş verileri türü: sayısal. Varsayılan olarak sonuç para birimi olarak biçimlendirilir.
Net bugünkü değeri hesaplama formülü şöyledir:
burada:
Rt= Tek bir dönem boyunca gelen ve giden net nakit akışları t
i = Alternatif yatırımlarla kazanılabilecek indirim oranı veya gelir
t = Dönemlerin sayısı
Bağımsız Değişkenler
Bağımsız Değişken
Açıklama
discount_rate
discount_rate, uygulanan indirim oranının yüzdesidir.
0,1 değeri %10 indirim oranını gösterir.
value
Bu alan döneme göre sıralanmış şekilde birden fazla alanın değerlerini barındırır. İlk değerin 1. dönemin sonundaki nakit akışı olacağı varsayılır ve bu şekilde devam eder.
Sınırlamalar:
NPV() fonksiyonunun şu sınırlamaları vardır:
Metin değerleri, NULL değerler ve eksik değerler göz ardı edilir.
Nakit akışı değerleri döneme göre artan düzende olmalıdır.
Ne zaman kullanılır?
NPV(), projenin kârlılığını denetlemek ve başka ölçümler türetmek için kullanılan finansal bir fonksiyondur. Bu fonksiyon, ham veri olarak nakit akışları bulunduğunda yararlıdır.
Bölgesel ayarlar
Aksi belirtilmedikçe bu konudaki örneklerde aşağıdaki tarih formatı kullanılır: AA/GG/YYYY. Tarih formatı, veri yükleme kodunuzda SET DateFormat deyiminde belirtilir. Varsayılan tarih formatı, bölgesel ayarlarınız ve diğer unsurlar nedeniyle sisteminizde farklı olabilir. Aşağıdaki örneklerdeki formatları ihtiyaçlarınıza uyacak şekilde değiştirebilirsiniz. Dilerseniz yükleme kodunuzdaki formatları aşağıdaki örneklere uyacak şekilde değiştirebilirsiniz. Daha fazla bilgi için bkz. Uygulamalar ve komut dosyaları için bölgesel ayarları değiştirme.
Uygulamalardaki varsayılan bölgesel ayarlarda kullanıcı profili temel alınır. Bu bölgesel format ayarları, Qlik Cloud kullanıcı arayüzünde görüntülenen dil ayarlarıyla ilgili değildir. Qlik Cloud, kullandığınız tarayıcıyla aynı dilde görüntülenir.
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
Bir projenin ve bu projedeki bir döneme ilişkin nakit akışının CashFlow adlı tabloya yüklenen veri kümesi.
NPV adlı tabloda yer alan projenin NPV alanını hesaplamak için kullanılan, CashFlow tablosundan yerleşik yükleme.
NPV hesaplamasında kullanılan, sabit kodlanmış %10 indirim oranı.
Projenin tüm ödemelerini gruplamak için kullanılan Group By deyimi.
Komut dosyası
CashFlow:
Load
*
Inline
[
PrjId,PeriodId,Values
1,1,1000
];
NPV:
Load
PrjId,
NPV(0.1,Values) as NPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
PrjId
NPV
Sonuçlar tablosu
PrjId
NPV
1
$909.09
Dönem başına %10 indirim oranıyla dönemin sonunda alınacak $1000 tutarında tek bir ödeme için, NPV $1000 bölü (1 + indirim oranı) değerine eşittir. Efektif NPV $909,09'a eşittir
Örnek 2 – Birden çok ödeme (komut dosyası)
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
Bir projenin ve bu projedeki birden fazla döneme ilişkin nakit akışının CashFlow adlı tabloya yüklenen veri kümesi.
NPV adlı tabloda yer alan projenin NPV alanını hesaplamak için kullanılan, CashFlow tablosundan yerleşik yükleme.
NPV hesaplamasında sabit kodlanmış %10 indirim oranı kullanılır.
Projenin tüm ödemelerini gruplamak için kullanılan Group By deyimi.
Komut dosyası
CashFlow:
Load
*
Inline
[
PrjId,PeriodId,Values
1,1,1000
1,2,1000
];
NPV:
Load
PrjId,
NPV(0.1,Values) as NPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
PrjId
NPV
Sonuçlar tablosu
PrjId
NPV
1
$1735.54
Dönem başına %10 indirim oranıyla iki dönemin sonunda alınacak $1000 tutarındaki ödemeler için, efektif NPV $1735,54'e eşittir.
Örnek 3 – Birden çok ödeme (komut dosyası)
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
İki projenin Project adlı tabloya yüklenen indirim oranları.
Proje kimliğine ve dönem kimliğine göre her projenin birden çok döneminin nakit akışları. Bu dönem kimliği, verilerin sıralanmamış olması durumunda kayıtları sıralamak için kullanılabilir.
Geçici tmpNPV tablosunu oluşturmak için NoConcatenate, Yerleşik yüklemeler ve Left Join fonksiyonunun birleşimi. Tablo, Project ile CashFlow tablolarının kayıtlarını tek bir düz tabloda birleştirir. Bu tabloda indirim oranları her dönem için tekrarlanacaktır.
tmpNPV tablosundan gelen ve NPV adlı tabloda her projenin NPV alanını hesaplamak için kullanılan yerleşik yükleme.
Her projeyle ilişkilendirilmiş tek bir indirim oranı değeri. Bu değer only() fonksiyonu kullanılarak alınır ve her proje için NPV hesaplamasında kullanılır.
Proje kimliğine göre her projenin tüm ödemelerini gruplamak için kullanılan Group By deyimi.
Veri modeline yapay veya fazlalık verilerin yüklenmesini önlemek için, komut dosyasının sonunda tmpNPV tablosu bırakılır.
Komut dosyası
Project:
Load * inline [
PrjId,Discount_Rate
1,0.1
2,0.15
];
CashFlow:
Load
*
Inline
[
PrjId,PeriodId,Values
1,1,1000
1,2,1000
1,3,1000
2,1,500
2,2,500
2,3,1000
2,4,1000
];
tmpNPV:
NoConcatenate Load *
Resident Project;
Left Join
Load *
Resident CashFlow;
NPV:
Load
PrjId,
NPV(Only(Discount_Rate),Values) as NPV //Discount Rate will be 10% for Project 1 and 15% for Project 2
Resident tmpNPV
Group By PrjId;
Drop table tmpNPV;
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
PrjId
NPV
Sonuçlar tablosu
PrjId
NPV
1
$2486.85
2
$2042.12
Proje kimliği 1, dönem başına %10 indirim oranıyla üç dönemin sonunda $1000 tutarında ödemeler beklemektedir. Bu nedenle efektif NPV $2486,85'tir.
Proje kimliği 2, %15 indirim oranıyla dört dönem boyunca $500 tutarında iki ödeme ve $1000 tutarında iki ödeme daha beklemektedir. Bu nedenle efektif NPV $2042,12'dir.
Örnek 4 – Proje kârlılığı örneği (komut dosyası)
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
İki projenin indirim oranları ve başlangıç yatırımları (dönem 0) Project adlı tabloya yüklenir.
Proje kimliğine ve dönem kimliğine göre her projenin birden çok döneminin nakit akışları. Bu dönem kimliği, verilerin sıralanmamış olması durumunda kayıtları sıralamak için kullanılabilir.
Geçici tmpNPV tablosunu oluşturmak için NoConcatenate, Yerleşik yüklemeler ve Left Join fonksiyonunun birleşimi. Tablo, Project ile CashFlow tablolarının kayıtlarını tek bir düz tabloda birleştirir. Bu tabloda indirim oranları her dönem için tekrarlanacaktır.
only() fonksiyonu kullanılarak alınan ve her projenin NPV hesaplamasında kullanılan, her projeyle ilişkilendirilmiş tek bir indirim oranı değeri.
NPV adlı tabloda her projenin NPV alanını hesaplamak için, tmpNPV tablosundan gelen bir yerleşik yükleme kullanılır.
Proje kârlılığı endeksini hesaplamak için NPV'yi her projenin başlangıçtaki yatırımına bölen ek bir alan oluşturulur.
Her projenin tüm ödemelerini gruplamak için, proje kimliğine göre gruplayan bir group by deyimi kullanılır.
Veri modeline yapay veya fazlalık verilerin yüklenmesini önlemek için, komut dosyasının sonunda tmpNPV tablosu bırakılır.
Komut dosyası
Project:
Load * inline [
PrjId,Discount_Rate, Initial_Investment
1,0.1,100000
2,0.15,100000
];
CashFlow:
Load
*
Inline
[
PrjId,PeriodId,Values,
1,1,35000
1,2,35000
1,3,35000
2,1,30000
2,2,40000
2,3,50000
2,4,60000
];
tmpNPV:
NoConcatenate Load *
Resident Project;
Left Join
Load *
Resident CashFlow;
NPV:
Load
PrjId,
NPV(Only(Discount_Rate),Values) as NPV, //Discount Rate will be 10% for Project 1 and 15% for Project 2
NPV(Only(Discount_Rate),Values)/ Only(Initial_Investment) as Profitability_Index
Resident tmpNPV
Group By PrjId;
Drop table tmpNPV;
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
PrjId
NPV
Şu hesaplamayı oluşturun:
=only(Profitability_Index)
Sonuçlar tablosu
PrjId
NPV
=only(Profitability_Index)
1
$87039.82
0.87
2
$123513.71
1.24
Proje kimliği 1'in efektif NPV'si $87039,82 ve başlangıç yatırımı $100000'dir. Bu nedenle kârlılık endeksi 0,87'ye eşit olur. Bu değer 1'den küçük olduğundan proje kârlı değildir.
Proje kimliği 2'nin efektif NPV'si $123513,71 ve başlangıç yatırımı $100000'dir. Bu nedenle kârlılık endeksi 1,24'e eşit olur. Bu değer 1'den büyük olduğundan proje kârlıdır.