Power BI度量值问题:基于日历切片器获取前两日有效数量数据
解决方案
使用以下DAX度量值可自动获取选定日期的倒数第二个有数据日期的数量总和,适配无数据日期(如周日、节假日)的场景:
2Days Previous = VAR SelectedDate = LASTDATE(Mycalender[Date]) -- 筛选业务表中早于等于选中日期的所有有记录日期 VAR AllValidDates = CALCULATETABLE( VALUES('Table 1 (Sheet1)'[date]), 'Table 1 (Sheet1)'[date] <= SelectedDate ) -- 获取最新的2个有数据日期 VAR SortedValidDates = TOPN(2, AllValidDates, 'Table 1 (Sheet1)'[date], DESC) -- 提取倒数第二个有数据的日期 VAR TargetDate = MAXX( FILTER(SortedValidDates, 'Table 1 (Sheet1)'[date] <> MAXX(SortedValidDates, 'Table 1 (Sheet1)'[date])), 'Table 1 (Sheet1)'[date] ) -- 返回目标日期的数量总和 RETURN CALCULATE(SUM('Table 1 (Sheet1)'[qty]), 'Table 1 (Sheet1)'[date] = TargetDate)
逻辑说明:
- 通过
SelectedDate获取日历切片器选中的日期 AllValidDates自动收集业务表中所有不晚于选中日期的有效记录日期,直接排除无数据的日期SortedValidDates取有效日期里最新的2个,再通过TargetDate筛选出其中更早的那个(即倒数第二个有数据的日期)- 最终计算该目标日期的
qty总和,完全适配无数据日期的场景
内容的提问来源于stack exchange,提问作者karen
相关产品推荐
相关产品推荐

