1. 希望实现的效果:

image.png
动态选择上方指标,返回下面的值。
2. 思路
1)根据selectedvalue的不同值,用switch返回不同情况的结果。
2)返回结果时,过去的月份:用edate求开始日期,用filter过滤
3)返回结果时,过去的财年:用=即可
3. dax实现:
sum_ =
VAR Vslicer =
SELECTEDVALUE ( dim_DatePeriod[DatePeriod] )
VAR MaxFYYear =
IF ( MONTH ( [MaxDate] ) < 10, YEAR ( [MaxDate] ), YEAR ( [MaxDate] ) + 1 )
RETURN
SWITCH (
TRUE (),
Vslicer = "Previous 1 Month",
CALCULATE (
SUM ( '明细'[value] ),
FILTER ( ALL ( '明细'[date] ), '明细'[date] >= EDATE ( [MaxDate], -1 ) )
),
Vslicer = "Previous 3 Month",
CALCULATE (
SUM ( '明细'[value] ),
FILTER ( ALL ( '明细'[date] ), '明细'[date] >= EDATE ( [MaxDate], -3 ) )
),
Vslicer = "Previous 12 Month",
CALCULATE (
SUM ( '明细'[value] ),
FILTER ( ALL ( '明细'[date] ), '明细'[date] >= EDATE ( [MaxDate], -12 ) )
),
Vslicer = "Previous 1 FYyear",
CALCULATE ( SUM ( '明细'[value] ), Dim_Date[Year] = MaxFYYear - 1 )
)
