天天看点

在Power BI中用DAX计算净现值NPV

净现值(NPV - Net Present Value)是会计学当中经常使用到的一个指标。净现值指未来现金流的折现值与现在投资成本之间的差额。用白话来讲,净现值其实就只现在的钱,用来投资之后,在未来所能产生的“增值”部分。这个增值要打上双引号,因为并不是所有的投资都能带来回报,想想2020年4月末的石油期货交易都能跌到负数,就很能说明“投资有风险”这个道理。

净现值受时间,初始成本,未来净现金净流量以及折现率三个指标影响,计算公式如下:

在Power BI中用DAX计算净现值NPV

其中:

  • C_t代表第T期的未来净现金流量
  • C_0代表当前投入成本
  • k代表折现率
  • t代表计期数,即时间周期

当净现值为正数时,说明当前投资能获得收益,净现值越大,所得收益也就越高。如果净现值为负数,则说明该笔投资所得回报无法抵消成本投入,负数越小说明亏损越多。

如果假设你现在有一笔1000元的投资,预计未来三年每年可获得净现金流量为400,600和800元。当折现率是10%时,该笔投资在3年期的净现值为460.55元。也就是说这笔1000元的投资,未来三年可为为你带来460.55元的回报。

注意:这笔投资回报是460.55,而不是800,原因是由于有折现率的影响,也就是说,今年1000快的购买力,要比明年1000快的购买力高。所以这1000的投资,看似能活的400+600+800 = 1800块的总收益,但是折合成现值,就只有1460.55了。

关于现值的计算,可以参考之前的博客

与现值类似,在DAX语言中没有直接提供一个类似于Excel中的NPV函数来计算净现值,不过可以通过使用DAX公式在Power BI中获取净现值。如果数据表单中有明确的计期数,假设折现率是10%,则可以参考下面的公式获得净现值。

NPV =
SUMX (
    'NPV Data',
    DIVIDE (
        'NPV Data'[Cash Flow],
        POWER (
            ( 1 + 0.1 ),
            'NPV Data'[Period]
        )
    )
)

           
在Power BI中用DAX计算净现值NPV

在DAX语言中提供了一个XNPV函数,与Excel中财务公式中的XNPV函数一样,可以计算不一定具有周期性的现金流时间表的现值。

XNPV =
XNPV (
    'XNPV Data',
    'XNPV Data'[Cash],
    'XNPV Data'[Date],
    0.1
)

           
在Power BI中用DAX计算净现值NPV

继续阅读