RangeXIRR - スクリプト関数
RangeXIRR() は、キャッシュ フロー明細表に対する内部収益率を返します。キャッシュ フロー明細表は、定期的である必要はありません。一連の定期的キャッシュ フローに対する内部収益率の計算には、RangeIRR 関数を使用します。
Qlik の XIRR 機能 (XIRR() および RangeXIRR() 関数) は、次の方程式を使用して Rate 値を解き、正しい XIRR 値を決定します。
XNPV(Rate, pmt, date) = 0
この方程式は、ニュートン法の簡素化されたバージョンを使用して解かれます。
構文:
RangeXIRR(values, dates[, Expression])
戻り値データ型: 数値
引数:
- dates: キャッシュ フローの支払いに対応する支払日または支払予定日です。
- values: 支払予定日の日付に対応する単一または一連のキャッシュ フローです。それぞれの値は、3 番目のオプション パラメータを持つレコード間関数によって返される、単一値または値域を表している可能性があります。一連の値は、少なくとも 1 つの正の値と 1 つの負の値を含む必要があります。
- Expression: メジャーの対象となるデータ範囲が含まれている任意の数式または項目。
制限事項:
テキスト値、NULL 値、欠損値は無視されます。
すべての支払いは、年 365 日計算で割り引かれます。
例1:
RangeXIRR(-2500,'2008-01-01',2750,'2008-09-01') は、0.1532 を返します。
例2:
ドキュメントに例のスクリプトを追加して実行します。その後、結果列に含まれている項目をドキュメントのシートに追加して結果を表示します。
RangeTab3:
LOAD *,
recno() as RangeID,
RangeXIRR(Field1,Field2,Field3) as RangeXIRR;
LOAD * INLINE [
Field1|Field2|Field3
10|5|-6000
2|NULL|7000
8|'abc'|8000
18|11|9000
5|5|9000
9|4|2000
] (delimiter is '|');
結果テーブルには、テーブルの各レコードに対する RangeXIRR の戻り値が表示されます。
RangeID | RangeXIRR |
---|---|
1 | - |
2 | 0.5893 |
3 | 0.5089 |
4 | 0.4476 |
5 | 0.4476 |
6 | 2.5886 |