Power BI / DAX - 部分年份已过去时的同比比较

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

我对 Power BI 非常陌生,我想在 power bi 中创建一个图块,它会返回总用户数逐年不同的情况。有一个切片器可以选择您所需的年份(即,如果选择 2023 年,它将计算 2022 年至 2023 年之间的同比百分比

但是,当在切片器中选择 2024 年时,它似乎是将今年迄今为止经过的时间与整个 2023 年进行比较,而不是与 2023 年的同一时间段进行比较。当我返回当前年份的用户、上一年的用户时,表格上的年份和月份我可以看到每个月的计算都是正确的,但是该图块返回的是全年比较而不是同一时间段。我计算变量如下:

Users CY = 
VAR MaxDate = MAX('Calendar Table'[Date]) 
RETURN 
IF(
    SELECTEDVALUE('Calendar Table'[Calendar Year]) = YEAR(MaxDate),
    CALCULATE(
        COUNT(Table[user_id]),
        FILTER(
            'Calendar Table',
            'Calendar Table'[Date] <= MaxDate &&
            'Calendar Table'[Date] >= DATE(YEAR(MaxDate), 1, 1)
        )
    ),
    CALCULATE(
        COUNT(Table[user_id]),
        FILTER(
            'Calendar Table',
            'Calendar Table'[Calendar Year] = YEAR(MaxDate)
        )
    )
)
Users PY =
CALCULATE(
    COUNT(Table[user_id]),
    DATEADD('Calendar Table'[Date], -1, YEAR)
)
Users YoY% =
VAR Users_CY = [Users CY]
VAR Users_PY = [Users PY]
RETURN
IF(
    ISBLANK(Users_PY) || Users_CY = 0,
    BLANK(),
    (Users_CY - Users_PY) / Users_PY
)

我也尝试过使用 SAMEPERIODLASTYEAR 但仍然得到相同的结果

我希望它能够动态更新(即)数据每月刷新一次,这样当 2024 年 3 月的数据添加到表中时,它会自动更新计算

datetime powerbi dax
1个回答
0
投票

您获得全年比较的原因是,当您在数据切片器中选择 2024 年时,日期表会过滤到 2024 年全部(365 天)。因此,当 SAMEPERIODLASTYEAR 求值时,它将与 2023 年全年进行比较。也许,您可以不使用日期切片器,而是将年份或月份放在 x 轴上,如下所示。

您还可以添加字段参数,让用户选择是否需要月/年/或季度来分割数据。

最后,要删除表格/图表上的 2024 年全年,您可以在<= current month. This can be challenging if you don't have a date table or offset columns. I wrote about date calendars and offsets 此处添加月份的视觉过滤器。

© www.soinside.com 2019 - 2024. All rights reserved.