PowerBI双日期列日期范围利润求和DAX度量开发需求
解决方案
基础度量:双日期范围筛选利润求和
JP_PDRD_DualRange = CALCULATE( SUM(a_NZ_JPR[J Profit NZD]), -- 保留两日期相等的原始筛选条件 a_NZ_JPR[ME_PostDate] = a_NZ_JPR[ME_Rec_Date], -- 激活ME_Rec_Date与日期表的非活动关系,让日期筛选上下文同时作用于该列 USERRELATIONSHIP(a_NZ_JPR[ME_Rec_Date], 'Date'[Date]), -- 确保ME_PostDate也落在当前日期筛选范围内(显式声明避免特殊上下文失效) a_NZ_JPR[ME_PostDate] IN VALUES('Date'[Date]) )
年初至今(YTD)专用版本
如果需要直接实现年初至今的计算,可基于上述基础度量封装:
JP_PDRD_YTD = CALCULATE( [JP_PDRD_DualRange], DATESYTD('Date'[Date]) )
指定固定日期区间示例(如2024年7-8月末)
若要手动锁定日期范围(比如你提到的2024年7月31日至8月31日),可直接写:
JP_PDRD_SpecificRange = CALCULATE( SUM(a_NZ_JPR[J Profit NZD]), a_NZ_JPR[ME_PostDate] = a_NZ_JPR[ME_Rec_Date], a_NZ_JPR[ME_Rec_Date] >= DATE(2024,7,31), a_NZ_JPR[ME_Rec_Date] <= DATE(2024,8,31), a_NZ_JPR[ME_PostDate] >= DATE(2024,7,31), a_NZ_JPR[ME_PostDate] <= DATE(2024,8,31) )
关键逻辑说明
USERRELATIONSHIP是核心:激活非活动关系后,日期表的筛选(切片器、时间智能函数)会同时作用于ME_Rec_Date,结合ME_PostDate的活动关系,实现双日期列的同步筛选。- 显式声明
a_NZ_JPR[ME_PostDate] IN VALUES('Date'[Date]),是为了避免在复杂上下文(如嵌套CALCULATE)中活动关系筛选失效的问题。 - 固定日期区间版本无需依赖日期表,直接通过硬编码日期范围实现和Excel SUMIFS完全一致的逻辑。
内容的提问来源于stack exchange,提问作者user3385529
相关产品推荐
相关产品推荐

