XNPV() 스크립트 함수는 할인율과 별도로 할인되는 각 현금 흐름에 해당하는 특정 날짜를 사용합니다. 이는 NPV()에서 모든 기간이 동일하다고 가정하기 때문에 NPV() 함수와 다릅니다. 이러한 이유로 XNPV()가 NPV()보다 정확합니다.
구문:
XNPV(discount_rate, pmt,
date)
반환 데이터 유형: 숫자 기본적으로 결과는 통화로 서식이 지정됩니다.
XNPV를 계산하는 공식은 다음과 같습니다.
설명:
Pi = 단일 기간 i 동안의 순 현금 유입-유출
d1= 첫 번째 지불 날짜
di = i번째 지불 날짜
rate = 할인율
순 현재 가치(NPV)는 미래 현금 흐름 스트림의 현재 총 가치를 계산하는 데 사용됩니다. NPV를 계산하려면 각 기간의 미래 현금 흐름을 추정하고 정확한 할인율을 확인해야 합니다.
XNPV()는 기간별로 정렬된 여러 값과 할인율을 사용합니다. 유입(수입)은 양수이고 유출(미래 지불)은 음수 값으로 가정됩니다. 이는 각 기간이 끝날 때 발생합니다.
인수
인수
설명
discount_rate
discount_rate는 적용된 할인율입니다.
값이 0.1이면 10% 할인율을 나타냅니다.
value
이 필드에는 현금 흐름 값이 있습니다. 첫 번째 값은 시작 시점의 현금 흐름으로 가정하고 해당 날짜는 모든 미래 현금 흐름에 대한 현재 가치를 계산하는 데 참조로 사용됩니다.
정보 메모XNPV()는 초기 현금 흐름을 할인하지 않습니다. 후속 지불은 1년 365일을 기준으로 할인됩니다. 이는 모든 지불이 할인되는 NPV()와 다릅니다.
date
이 필드에는 현금 흐름(value, 두 번째 매개 변수)이 발생한 날짜가 있습니다. 첫 번째 값은 미래 현금 흐름에 대한 오프셋을 위한 시작 날짜로 사용됩니다.
제한 사항:
데이터 쌍의 한쪽 또는 양쪽에 텍스트 값, NULL 값 및 누락된 값이 있는 경우 데이터 쌍은 무시됩니다.
사용 시기
XNPV()는 투자 기회의 순 현재 가치(NPV)를 계산하기 위한 재무 모델링에 사용됩니다.
모든 유형의 재무 모델의 경우 XNPV는 정밀도가 더 높으므로 NPV보다 선호됩니다.
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.
앱의 기본 국가별 설정은 Qlik Sense가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다. 액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다. 이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
예 1 – 단일 지불(스크립트)
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
CashFlow라는 테이블에 있는 한 프로젝트의 데이터 집합 및 1년 동안의 현금 흐름. 계산의 초기 날짜는 2022년 7월 1일로 설정되고 순 현금 흐름은 0입니다. 1년 후 $1000의 현금 흐름이 발생합니다.
XNPV라는 테이블에서 프로젝트의 XNPV 필드를 계산하는 데 사용되는 CashFlow 테이블의 상주 로드.
XNPV 계산에 사용되는 하드 코딩된 할인율 10%(0.1).
Group By 문은 프로젝트에 대한 모든 지불을 그룹화하는 데 사용됩니다.
로드 스크립트
CashFlow:
Load
*
Inline
[
PrjId,Dates,Values
1,'07/01/2022',0
1,'07/01/2023',1000
];
XNPV:
Load
PrjId,
XNPV(0.1,Values,Dates) as XNPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
PrjId
XNPV
결과 테이블
PrjId
XNPV
1
$909.09
공식에 따르면 첫 번째 레코드의 XNPV 값은 0이고 두 번째 레코드의 XNPV 값은 $909.09이므로 총 XNPV는 $909.09입니다.
예 2 – 여러 지불(스크립트)
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
CashFlow라는 테이블에 있는 한 프로젝트의 데이터 집합 및 1년 동안의 현금 흐름.
XNPV라는 테이블에서 프로젝트의 XNPV 필드를 계산하는 데 사용되는 CashFlow 테이블의 상주 로드.
XNPV 계산에 사용되는 하드 코딩된 할인율 10%(0.1).
Group By 문은 프로젝트에 대한 모든 지불을 그룹화하는 데 사용됩니다.
로드 스크립트
CashFlow:
Load
*
Inline
[
PrjId,Dates,Values
1,'07/01/2022',0
1,'07/01/2024',500
1,'07/01/2023',1000
];
XNPV:
Load
PrjId,
XNPV(0.1,Values,Dates) as XNPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
PrjId
XNPV
결과 테이블
PrjId
XNPV
1
$1322.21
이 예에서는 첫 해의 끝에 $1000의 지불을 받고 두 번째 해의 끝에 $500의 지불을 받습니다. 기간당 할인율이 10%인 유효 XNPV는 $1322.21입니다.
데이터의 첫 번째 행만 계산의 기준 날짜를 참조해야 합니다. 나머지 행의 경우 날짜 매개 변수가 경과 기간을 계산하는 데 사용되므로 순서는 중요하지 않습니다.
예 3 - 다중 지불 및 불규칙한 현금 흐름(스크립트)
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
Project라는 테이블의 두 프로젝트에 대한 할인율.
프로젝트 ID 및 날짜별로 각 프로젝트에 대한 여러 기간의 현금 흐름. Dates 필드는 현금 흐름에 할인율이 적용되는 기간을 계산하는 데 사용됩니다. 첫 번째 레코드(초기 현금 흐름 및 날짜)를 제외하고 레코드의 순서는 중요하지 않으며 변경해도 계산에 영향을 미치지 않습니다.
NoConcatenate, 상주 로드 및 Left Join 함수를 조합하여 사용하면 Project 및 CashFlow 테이블의 레코드를 하나의 플랫 테이블로 결합한 임시 테이블 tmpNPV가 만들어집니다. 이 테이블에는 각 현금 흐름에 대해 반복되는 할인율이 있습니다.
XNPV라는 테이블의 각 프로젝트에 대한 XNPV 필드를 계산하는 데 사용되는 tmpNPV 테이블의 상주 로드.
only() 함수를 사용하여 각 프로젝트에 연결된 단일 값 할인율을 가져와 각 프로젝트에 대한 XNPV 계산에 사용합니다.
프로젝트 ID별로 그룹화하는 Group By 문은 각 프로젝트에 대한 모든 지불 및 해당 날짜를 그룹화하는 데 사용됩니다.
합성 데이터나 중복 데이터가 데이터 모델에 로드되는 것을 방지하기 위해 tmpXNPV 테이블은 스크립트 끝에서 삭제됩니다.
로드 스크립트
Project:
Load * inline [
PrjId,Discount_Rate
1,0.1
2,0.15
];
CashFlow:
Load
*
Inline
[
PrjId,Dates,Values
1,'07/01/2021',0
1,'07/01/2022',1000
1,'07/01/2023',1000
2,'07/01/2020',0
2,'07/01/2023',500
2,'07/01/2024',1000
2,'07/01/2022',500
];
tmpXNPV:
NoConcatenate Load *
Resident Project;
Left Join
Load *
Resident CashFlow;
XNPV:
Load
PrjId,
XNPV(Only(Discount_Rate),Values,Dates) as XNPV //Discount Rate will be 10% for Project 1 and 15% for Project 2
Resident tmpXNPV
Group By PrjId;
Drop table tmpXNPV;
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
PrjId
XNPV
결과 테이블
PrjId
XNPV
1
$1735.54
2
$278.36
프로젝트 ID 1의 초기 현금 흐름은 2021년 7월 1일에 $0입니다. 2년 후 끝에 기간당 10%의 할인율로 $1000의 두 번 지불이 있습니다. 따라서 유효 XNPV는 $1735.54입니다.
프로젝트 ID 2는 2020년 7월 1일에 $1000(따라서 음수 부호)의 초기 유출이 있습니다. 2년 후 $500의 지불이 예상됩니다. 3년 후에는 $500의 추가 지불이 예상됩니다. 마지막으로 2024년 7월 1일에 $1000의 지불이 예상됩니다. 할인율이 15%인 유효 XNPV는 $278.36입니다.