如何计算特定区域月度间'Sum of Backorders YTD'列单元格差值?
计算特定区域下月渡间'Sum of Backorders YTD'的差值
核心思路
由于'Sum of Backorders YTD'是累计到当月的数值,月度差值本质就是当月YTD值 - 上月同期YTD值,直接得到当月新增的Backorders数量。利用DAX的时间智能函数可以精准定位上月上下文,同时保留区域筛选条件。
解决方案DAX公式
假设你已经有一个名为Sum of Backorders YTD的度量值,且存在标记为日期表的DateTable:
Backorders Monthly Difference = VAR CurrentPeriodYTD = [Sum of Backorders YTD] VAR PreviousMonthYTD = CALCULATE( [Sum of Backorders YTD], DATEADD('DateTable'[Date], -1, MONTH) ) RETURN CurrentPeriodYTD - PreviousMonthYTD
如果你还未创建Sum of Backorders YTD度量值,可以先完成这一步:
Sum of Backorders YTD = CALCULATE( SUM('YourDataTable'[Backorders]), DATESYTD('DateTable'[Date]) )
关键注意事项
- 日期表要求:必须确保
DateTable是Power BI中标记的日期表(右键表 > 标记为日期表),否则DATEADD、DATESYTD这类时间智能函数无法正常工作。 - 筛选上下文继承:公式会自动继承当前页面的区域筛选(比如切片器、视觉对象级筛选),无需额外用
FILTER处理区域,CALCULATE会保留用户选择的特定区域上下文。 - 空值处理:如果是统计周期的第一个月(无上月数据),结果会返回空值,若需要显示为0,可以修改RETURN部分为
COALESCE(CurrentPeriodYTD - PreviousMonthYTD, 0)。
内容的提问来源于stack exchange,提问作者danchdrezzing
相关产品推荐
相关产品推荐

