先上图:

假设我们筛选了进货日期2025-7-1,2025-9-1和2025-12-1,表格第三列就会显示当前行的上一次选中的进货日期:
表数据如下:

实现方法:
-
新建度量值
上一次进货 =
VAR curr = SELECTEDVALUE('进货表'[进货日期]) //当前行的进货日期
VAR selected = ALLSELECTED('进货表'[进货日期]) //slicer选中的日期
VAR pre = MAXX(
FILTER(
ALLSELECTED('进货表'[进货日期]), '进货表'[进货日期] < curr
),
'进货表'[进货日期]) //从slicer选中的日期里,取最近的上一次进货日期
RETURNIF(
NOT ISBLANK(pre),
pre,
"无"
) //如果没有上一次进货日期,返回无,否则表格会不显示当前行 -
给表格绑定数据列

但是这种方法会有一个问题,即筛选器如果是单选,则无法显示上一次的进货日期

(不选是没问题的)

进一步修改度量值:
上一次进货 =
VAR curr = SELECTEDVALUE('进货表'[进货日期])
VAR selected = ALLSELECTED('进货表'[进货日期])
VAR sltNum = COUNTROWS(ALLSELECTED('进货表'[进货日期]))
VAR pre = IF(
sltNum > 1,
MAXX(
FILTER(
ALLSELECTED('进货表'[进货日期]), '进货表'[进货日期] < curr
),
'进货表'[进货日期]), //多选,或者不选
MAXX(
FILTER(
ALL('进货表'[进货日期]), '进货表'[进货日期] < curr
),
'进货表'[进货日期]) //单选,则从整张表里取最近的上一次进货日期
)
RETURN
IF(
NOT ISBLANK(pre),
pre,
"无"
)
效果:
