我有一个NPV计算,这是我手动完成的,因为XNPV函数似乎不工作。
我创建的NPV度量如下:
'Data'[Undiscounted Value] / (1+'Discount Rate'[Discount Rate Value])^([Component]/12)我在计算中发现了误差在测量的分量部分。构件计算如下:
IF(TODAY() > LASTDATE('Data'[Date]), BLANK(),
DATEDIFF(TODAY(), LASTDATE('Data'[Date]), MONTH))组件计算旨在确定NPV计算的月数。我除以12,因为我有年贴现率,但我的数据是以月为单位的。
上述计算在一条线/条形图中工作得很好。我已经对几个月进行了现场测试,以确定这些值是否被正确贴现。
当我试图聚合数据时,会出现此问题。换句话说,它在线条图中工作得很好,但是当我将计算放在卡片上时,它使用了组件的LASTDATE,并使用所有未折扣值的和来执行计算。换句话说,它做了这样的事情:
 SUM ('Data'[Undiscounted Value] ) / (1+'Discount Rate'[Discount Rate Value])^(MAX(Component) /12)然后说出一个不正确的结果。
它应该做的仅仅是取所有折扣值的总和。所以一个月一个月地运行计算,然后把所有的月份加起来,而是将未打折的值相加,然后在36个月内贴现它们。
我的QUESTion是:是否有其他函数可以告诉PowerBI不要使用最后一个日期,而是遍历每个月(行),然后再进行和
发布于 2017-12-16 06:45:56
我建议采用以下解决方案:
  SUMX( 
      VALUES( 'Data'[Month] )
      , CALCULATE( NPV )
      )这将计算每个月的折扣,然后再加起来。您也可能需要调整组件公式。
https://stackoverflow.com/questions/47841165
复制相似问题