首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >迭代现值计算

迭代现值计算
EN

Stack Overflow用户
提问于 2017-12-15 23:37:08
回答 1查看 658关注 0票数 0

我有一个NPV计算,这是我手动完成的,因为XNPV函数似乎不工作。

我创建的NPV度量如下:

代码语言:javascript
运行
复制
'Data'[Undiscounted Value] / (1+'Discount Rate'[Discount Rate Value])^([Component]/12)

我在计算中发现了误差在测量的分量部分。构件计算如下:

代码语言:javascript
运行
复制
IF(TODAY() > LASTDATE('Data'[Date]), BLANK(),
DATEDIFF(TODAY(), LASTDATE('Data'[Date]), MONTH))

组件计算旨在确定NPV计算的月数。我除以12,因为我有年贴现率,但我的数据是以月为单位的。

上述计算在一条线/条形图中工作得很好。我已经对几个月进行了现场测试,以确定这些值是否被正确贴现。

当我试图聚合数据时,会出现此问题。换句话说,它在线条图中工作得很好,但是当我将计算放在卡片上时,它使用了组件的LASTDATE,并使用所有未折扣值的和来执行计算。换句话说,它做了这样的事情:

代码语言:javascript
运行
复制
 SUM ('Data'[Undiscounted Value] ) / (1+'Discount Rate'[Discount Rate Value])^(MAX(Component) /12)

然后说出一个不正确的结果。

它应该做的仅仅是取所有折扣值的总和。所以一个月一个月地运行计算,然后把所有的月份加起来,而是将未打折的值相加,然后在36个月内贴现它们。

我的QUESTion是:是否有其他函数可以告诉PowerBI不要使用最后一个日期,而是遍历每个月(行),然后再进行和

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-16 06:45:56

我建议采用以下解决方案:

代码语言:javascript
运行
复制
  SUMX( 
      VALUES( 'Data'[Month] )
      , CALCULATE( NPV )
      )

这将计算每个月的折扣,然后再加起来。您也可能需要调整组件公式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47841165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档