PowerBI Dax 衡量上一年的销售额适用最大(日期)

问题描述 投票:0回答:1

我有“总销售额”指标和“上一年销售额”指标

上一年销售额 = CALCULATE([总销售额], DATEADD('calendar'[full_date], -1, YEAR))

但是,我将日历过滤器设计为如下所示: 用户可以独立选择年、季、月以及具体日期范围。

但是,我的默认页面是一个书签,其中选择了“年份:2024”、“季度:全部”、“月份:全部”,并且在日期范围选择器中应用了清除选择。 (之前我已在 Power Query 编辑器中应用 MAX(date) 作为我最近的发票日期,这就是为什么它显示为 4/1/2018 到 4/16/2024,而不是日历表中的整个日期范围)

“清除选择”相当于没有选择日期,这就是我想要的,因为它会将日期本身更新为我每天运行新更新的最新发票日期。但是,由于这种行为,在比较往年销售额时,PowerBI 认为我想要比较整个月份而不是整个月份 + 部分月份。

例如,我最近的发票日期是“2024-04-16”,在我的月份过滤器中,它将检查所有 4 个月(1,2,3,4),这意味着 dax 度量将计算“2023- 01-01”到“2023-04-30”而不是“2023-04-16”。

我的问题是,有没有办法在我的衡量标准中添加 CAP,以便在这种情况下,如果没有选择特定日期,它仍然会应用同一时期的比较?

谢谢!

powerbi dax powerbi-desktop
1个回答
0
投票

我认为这应该有效:

Sales Prior Year = 
    VAR LatestDateCurrentYear = MAX('YourSalesTable'[Invoice date])
    VAR LatestDateLastYear = DATE(YEAR(LatestDateCurrentYear) - 1, MONTH(LatestDateCurrentYear), DAY(LatestDateCurrentYear))
    VAR FirstDateLastYear = DATE(YEAR(LatestDateCurrentYear) - 1, 1, 1)
    RETURN
    CALCULATE(
        [Total Sales],
        FILTER(
            ALL('calendar'[full_date]),
            'calendar'[full_date] >= FirstDateLastYear && 'calendar'[full_date] <= LatestDateLastYear
        )
    )
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.