Power BI -- 仅显示选定时间的数据

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

I've created a time slicer that allows users to select data for either the last 12 months or the last 24 months. However, I want my bar chart to display the corresponding period of data as well.

For example, when I click the "last 12 months" option, the chart should only display data from February 2023 to the current month (February 2024), and all other periods should be neglected. I've also attached my current dashboard to this post for reference. Thanks!


Measure =
var one_year_filter = FILTER('Table', DATEDIFF ('Table' [start.date], TODAY(), MONTH) >=0 && DATEDIFF('Table' [start.date], TODAY(), MONTH) <= 12) 
var two_year_filter = FILTER('Table', DATEDIFF ('Table' [start.date], TODAY(), MONTH) >=0 && DATEDIFF('Table' [start.date], TODAY(), MONTH) <= 24)
return
IF(ISBLANK (SWITCH (SELECTEDVALUE('Expiring Month' [Value]),

"Last 12 Months", CALCULATE (COUNT('Table' [Contr. No.]), one_year_filter),
"Last 24 Months", CALCULATE (COUNT('Table' [Contr. No.]), two_year_filter),
CALCULATE (COUNT('Table' [Number]))
)), 0, SWITCH(SELECTEDVALUE('Expiring Month' [Value]),

"Last 12 Months", CALCULATE (COUNT('Table' [Number]), one_year_filter),
"Last 24 Months", CALCULATE (COUNT('Table' [Number]), two_year_filter),
CALCULATE (COUNT('Table' [Number]))
powerbi dax
1个回答
0
投票

正如 @Sam Nseir 提到的,您需要更新度量以返回 BLANK() :

Measure =
VAR currentDate = TODAY()
VAR selectedPeriod = SELECTEDVALUE('Expiring Month' [Value], "Last 12 Months") -- Default to "Last 12 Months" if nothing is selected
VAR dateFilter =
    FILTER(
        'Table',
        'Table'[start.date] > IF(selectedPeriod = "Last 12 Months", EDATE(currentDate, -12), EDATE(currentDate, -24)) &&
        'Table'[start.date] <= currentDate
    )
VAR result =
    CALCULATE(
        COUNT('Table' [Number]), 
        dateFilter
    )
RETURN
    IF(ISBLANK(result), BLANK(), result)
© www.soinside.com 2019 - 2024. All rights reserved.