PowerBI日期间增量值计算求助:由累计总值求日期差值
解决相邻日期累计值差值的DAX方案
没问题,基于你已经实现的CumulativeTotal累计列,我们可以通过DAX轻松计算相邻日期间的差值。核心思路是用当日的累计总值减去前一天的累计总值,具体实现如下:
基础版本公式
DailyDifference = VAR CurrentDateTotal = [CumulativeTotal] VAR PreviousDateTotal = CALCULATE( [CumulativeTotal], DATEADD(Datesonly[Date], -1, DAY) ) RETURN CurrentDateTotal - PreviousDateTotal
公式说明
CurrentDateTotal:定义变量存储当前行日期对应的累计总值;PreviousDateTotal:通过DATEADD(Datesonly[Date], -1, DAY)获取前一天的日期上下文,再计算该日期的累计总值;- 最后返回两者的差值,就是相邻两天的累计值变化量。
优化版本(处理首日情况)
如果你的数据包含第一天的记录,此时前一天不存在,PreviousDateTotal会返回BLANK(),差值结果会变成当日累计值 - BLANK()(即当日的累计值)。如果想要首日差值显示为0或者其他自定义值,可以调整公式:
DailyDifference = VAR CurrentDateTotal = [CumulativeTotal] VAR PreviousDateTotal = CALCULATE( [CumulativeTotal], DATEADD(Datesonly[Date], -1, DAY) ) RETURN IF( ISBLANK(PreviousDateTotal), 0, -- 这里可以替换成你想要的首日默认值,比如CurrentDateTotal或者0 CurrentDateTotal - PreviousDateTotal )
替代思路(无需依赖累计列)
其实从逻辑上来说,相邻两日累计值的差值,本质就是当日的Used Space GB总和,所以你也可以直接计算当日的使用空间,结果是等价的:
DailyDifference_Alternative = SUM(vnxcritical[Used Space GB])
这个方案更简洁,不过需要注意:如果你的CumulativeTotal存在额外的筛选上下文(比如切片器、行级筛选),两种方案的结果会保持一致,因为CALCULATE会继承当前的筛选上下文。
内容的提问来源于stack exchange,提问作者A.lacorazza
相关产品推荐
相关产品推荐

