Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hello All ,
I need some help with Season Slicer.
I have Season and Date (Weekly Snapshots)table.
SEASON |
M19 |
S19 |
M20 |
S20 |
M21 |
S21 |
M22 |
S22 |
Season range :
If it is M Jan -July
If it is S April -March
If user selects M22, then the dates should be Jan thru July of same year(2022).
If user selects S22 then the dates shuld be Appril 2021 thru March 2022.
Can some one help with this please.
TIA
Solved! Go to Solution.
Hi @Puja ,
You can modify it to the following dax:
When M is selected, the minimum value from January to July of the Season Year is displayed.
When S is selected, the March of Season Year -1 to the April minimum of Season Year are displayed.
Flag =
VAR _select =
SELECTEDVALUE ( 'Season Table'[Season] )
VAR _year =
VALUE ( "20" & "" & RIGHT ( _select, 2 ) )
VAR _code =
MAXX (
FILTER ( ALL ( 'Season Table' ), 'Season Table'[Season] = _select ),
[Code]
)
VAR _MJulyfirst =
MINX (
FILTER (
ALL ( 'Date table' ),
YEAR ( 'Date table'[Date] ) = _year
&& MONTH ( 'Date table'[Date] ) = 7
),
[Date]
)
VAR _SMarchfirst =
MINX (
FILTER (
ALL ( 'Date table' ),
YEAR ( 'Date table'[Date] ) = _year
&& MONTH ( 'Date table'[Date] ) = 3
),
[Date]
)
VAR _Smindate =
DATE ( _year - 1, 4, 1 )
RETURN
SWITCH (
TRUE (),
_code = "M"
&& MAX ( 'Date table'[Date] ) >= DATE ( _year, 1, 1 )
&& MAX ( 'Date table'[Date] ) <= _MJulyfirst, 1,
_code = "S"
&& MAX ( 'Date table'[Date] ) >= _Smindate
&& MAX ( 'Date table'[Date] ) <= _SMarchfirst, 1,
0
)
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi @Puja ,
You can modify it to the following dax:
When M is selected, the minimum value from January to July of the Season Year is displayed.
When S is selected, the March of Season Year -1 to the April minimum of Season Year are displayed.
Flag =
VAR _select =
SELECTEDVALUE ( 'Season Table'[Season] )
VAR _year =
VALUE ( "20" & "" & RIGHT ( _select, 2 ) )
VAR _code =
MAXX (
FILTER ( ALL ( 'Season Table' ), 'Season Table'[Season] = _select ),
[Code]
)
VAR _MJulyfirst =
MINX (
FILTER (
ALL ( 'Date table' ),
YEAR ( 'Date table'[Date] ) = _year
&& MONTH ( 'Date table'[Date] ) = 7
),
[Date]
)
VAR _SMarchfirst =
MINX (
FILTER (
ALL ( 'Date table' ),
YEAR ( 'Date table'[Date] ) = _year
&& MONTH ( 'Date table'[Date] ) = 3
),
[Date]
)
VAR _Smindate =
DATE ( _year - 1, 4, 1 )
RETURN
SWITCH (
TRUE (),
_code = "M"
&& MAX ( 'Date table'[Date] ) >= DATE ( _year, 1, 1 )
&& MAX ( 'Date table'[Date] ) <= _MJulyfirst, 1,
_code = "S"
&& MAX ( 'Date table'[Date] ) >= _Smindate
&& MAX ( 'Date table'[Date] ) <= _SMarchfirst, 1,
0
)
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi @Anonymous ,
I just noticed one limitation,
When I select S23, should show , 2022 April until 2023 March.
But I see blanks. Any thoughts ?
Perfect 🙂
Thank you so much @Anonymous
Hi @Puja ,
Here are the steps you can follow:
1. Create measure.
Flag =
var _select=SELECTEDVALUE('Season Table'[Season])
var _code=MAXX(FILTER(ALL('Season Table'),'Season Table'[Season]=_select),[Code])
var _MJulyfirst=MINX(FILTER(ALL('Date table'),YEAR('Date table'[Date])=2022&&MONTH('Date table'[Date])=7),[Date])
var _SMarchfirst=MINX(FILTER(ALL('Date table'),YEAR('Date table'[Date])=2022&&MONTH('Date table'[Date])=3),[Date])
return
SWITCH(
TRUE(),
_code="M"&&MAX('Date table'[Date])>=DATE(2022,1,1)&&MAX('Date table'[Date])<=_MJulyfirst,1,
_code="S"&&MAX('Date table'[Date])>=DATE(2021,4,1)&&MAX('Date table'[Date])<=_SMarchfirst,1,0)
2. Place [Flag]in Filters, set is=1, apply filter.
3. Result:
M22:
S22:
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi @Anonymous Thank you somuch.
This looks promising solution.
Can we make it dynamic for other seasons as well ?
Date range is same for M and S types.
If user selects M type, then the dates should be Jan thru July (min date) of same year.
If user selects S type then the dates shuld be Appril thru March(min date) .
Note: season number represents year.
ex: M21 = YEAR 2021
S13 = YEAR 2013
Thanks again.
Puja
@Anonymous
Could you help me with this req . 🙂
TIA
Can you share sample data and sample output in table format?
@Puja , You have map these season with you date table. Date table should have column for that range.
If this does not help
Can you share sample data and sample output in table format? Or a sample pbix after removing sensitive data.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
10 | |
9 | |
8 | |
8 | |
7 |
User | Count |
---|---|
13 | |
12 | |
11 | |
11 | |
8 |