DATEADD 在添加 MAX 时抛出错误

DATEADD throwing an error when adding MAX

我希望获得过去 3 个月的销售额总和。不包括本月未完成的月份。 我有这个 Dax,但它不接受 MAX 的 DATEADD。有什么解决方法吗?

测量 1 = 计算 ( SUM ( table1[销售额] ), DATESINPERIOD ( 表 1 [日期], DATEADD( MAX ( table1[date] ), -1,MONTH), -3, 月 ) )

DATEADD 函数需要一组日期来计算。这就是为什么它不适用于 MAX,returns 单个值。查找更多 here.

您需要找到数据集中的最大日期,然后从日期table中筛选出当前月份。尝试以下措施:

Measure1 = 
VAR maxDate = 
    CALCULATE(
        MAX( 'Calendar'[Date] ),
        ALL('Calendar' )
    )
VAR firstDay = DATE( YEAR( maxDate ), MONTH( maxDate ), 1 ) 
VAR maxK = 
    CALCULATE(
        MAX('Calendar'[Date] ),
        'Calendar'[Date] < firstDay
    )
VAR result = 
    CALCULATE( 
        SUM( AmountPaid[PaymentAmt] ), 
        DATESINPERIOD('Calendar'[Date], maxK, -3, MONTH )
    )
return result

maxK 部分计算最大日期,不包括我的数据集中的最新月份。您必须根据需要稍微调整一下度量(例如,使用 TODAY() 而不是 maxDate)。

希望对您有所帮助。