You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Power BI中使用DAX基于‘逾期销售额<当前月份’的条件计算逾期销售额

计算符合「逾期销售额<当前月份」条件的逾期销售额(Power BI DAX实现)

嘿,我来帮你搞定这个Power BI里的DAX计算需求!本质上我们要做的就是筛选出逾期时间早于当前月份的销售额总和,下面分两种常见场景给你具体的实现方法:

场景1:数据里有完整的「逾期日期」字段(日期格式)

如果你的销售表中存储的是完整的逾期日期(比如2024-03-15这种格式),可以用下面的度量值:

逾期销售额_当前月之前 = 
VAR CurrentMonthStart = STARTOFMONTH(TODAY()) // 获取当前月份的第一天
RETURN
CALCULATE(
    SUM('销售表'[销售额]), // 计算符合条件的销售额总和
    '销售表'[逾期日期] < CurrentMonthStart // 筛选逾期日期早于当前月第一天的记录
)

代码解释:

  • VAR定义了一个变量CurrentMonthStart,用来存储当前月份的第一天,这样代码更易读也方便后续调整。
  • CALCULATE是DAX中修改筛选上下文的核心函数,这里我们用它来限定只计算逾期日期在当前月份之前的销售额。

场景2:数据里只有「逾期月份」字段(数字格式,比如1=1月,12=12月)

如果你的数据里没有完整日期,只有逾期月份的编号,可以用这个版本:

逾期销售额_当前月之前 = 
VAR CurrentMonth = MONTH(TODAY()) // 获取当前月份的数字编号(比如5代表5月)
RETURN
CALCULATE(
    SUM('销售表'[销售额]),
    '销售表'[逾期月份] < CurrentMonth // 筛选逾期月份小于当前月份的记录
)

额外提示:

  • 记得把代码里的'销售表'[销售额][逾期日期]/[逾期月份]替换成你数据模型里的实际表名和字段名!
  • 如果报表页面上有其他日期筛选器,而你希望这个度量值不受这些筛选影响,可以在CALCULATE里加上ALL('日期表')来清除额外的日期上下文,比如:
逾期销售额_当前月之前(忽略其他日期筛选) = 
VAR CurrentMonthStart = STARTOFMONTH(TODAY())
RETURN
CALCULATE(
    SUM('销售表'[销售额]),
    '销售表'[逾期日期] < CurrentMonthStart,
    ALL('日期表') // 忽略页面上的日期筛选器影响
)

内容的提问来源于stack exchange,提问作者Drgrd

火山引擎 最新活动