我需要根据日期选择器返回上个月的值(年初至今),但是,如果是去年 12 月,我不想返回它。例子。现在是 2023 年 1 月,我不想返回 2022 年 12 月的值。我尝试使用此方法,但它没有执行任何操作:
VAR vLastMonth =
CALCULATE(
EOMONTH(MAX( DateTable[Date] ),-1),
ALLSELECTED( DateTable[Date] )
)
RETURN
CALCULATE(
TOTALYTD(
SELECTEDMEASURE(),
'DateTable'[Date]
),
FILTER(
ALL('DateTable'),
'DateTable'[Month] = MONTH(vLastMonth)
&&
'DateTable'[Year] = YEAR(vLastMonth)
)
)
vLastMonth 测量工作正常并返回上个月末。其余代码不会抛出错误,但也根本无法正常工作,仍然采用 12 月的值:
如何在我的代码中修复它?
仅检查相关月份是否为 12 月,如果是,则返回 0 而不是上个月怎么样?
VAR vLastMonth =
CALCULATE(
EOMONTH(MAX(DateTable[Date]), -1),
ALLSELECTED(DateTable[Date])
)
RETURN
IF(
MONTH(vLastMonth) = 12,
BLANK(), // Return 0 instead if you'd like
CALCULATE( // Rest of your measure goes here