Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more

Reply
IHeardPeopleSay
Frequent Visitor

Calculated column of distinct months given max week of month

Hi,

Having a table similar to:

Year    Month    WeekOfMonth
2018  1             1
2018  1             2
2018  1             3
2018  2             1
2018  2             2
2018  3             1
2018  3             2
2018  4             1
2018  4             2
2018  4             3
2017  1             1
2017  1             2
2017  2             1
2017  2             2
2017  2             3
2017  3             1
2017  3             2
2017  3             3
2017  4             1
2017  4             2

I want to use a calculated column as a page-level filter to have the following table:

Year    Month    WeekOfMonth
2018  1             1
2018  1             2
2018  1             3
2018  4             1
2018  4             2
2018  4             3

 

That is:

  • Filter the table by the year 2018
  • Of each month, look at the max WeekOfMonth
  • Select only the months with WeekOfMonth = 3

 

This is the formula I have for now:

 

Months5Weeks (2018) =
    VAR M5W =
        CALCULATE(
            DISTINCT(Table[Month]);
            Table[Year] = 2018;
            Table[WeekOfMonth] = 5
        )
    return

    IF(Table[Month] IN {M5W}; Table[Month]; BLANK())

But using that, I only have the following result:

Year    Month    WeekOfMonth
2018  1             3
2018  4             3

 

Which obviously isn't what I'm looking for...

 

Thanks in advance for the help

2 ACCEPTED SOLUTIONS
AlB
Community Champion
Community Champion

Hi @IHeardPeopleSay

 

Try this:

1. Place the three fields you show in your first table in the rows of a table visual

2. Create a measure like:

 

ShowMeasure =
VAR _Max =
    CALCULATE ( MAX ( Table1[WeekOfMonth] ), ALL ( Table1[WeekOfMonth] ) )
RETURN
    IF ( _Max = 3, 1 )

 

3. Place [ShowMeasure] in the visual level filters and select to show if it is not blank 

View solution in original post

@IHeardPeopleSay

If you need a column try this:

 

ShowColumn =
VAR _Max =
    CALCULATE ( MAX ( Table1[WeekOfMonth] ), ALL ( Table1[WeekOfMonth] ) )
RETURN
    IF ( _Max = 3 && Table1[Year]= 2018, 1 )

It's pretty much the same since we were using the table visual with all columns already. I've added the 2018 restriction 

View solution in original post

8 REPLIES 8
AlB
Community Champion
Community Champion

Hi @IHeardPeopleSay

 

Try this:

1. Place the three fields you show in your first table in the rows of a table visual

2. Create a measure like:

 

ShowMeasure =
VAR _Max =
    CALCULATE ( MAX ( Table1[WeekOfMonth] ), ALL ( Table1[WeekOfMonth] ) )
RETURN
    IF ( _Max = 3, 1 )

 

3. Place [ShowMeasure] in the visual level filters and select to show if it is not blank 

@AlBthanks for the swift reply.

 

I asked for a calculated column because I had to apply it to 45 (sigh) visuals, but if there is no way around it I'll just grit my teeth and do it.

 

That aside, the measure works, but it's clearly not filtered by a specific year, though I'll mark your post as a solution anyway.

@IHeardPeopleSay

If you need a column try this:

 

ShowColumn =
VAR _Max =
    CALCULATE ( MAX ( Table1[WeekOfMonth] ), ALL ( Table1[WeekOfMonth] ) )
RETURN
    IF ( _Max = 3 && Table1[Year]= 2018, 1 )

It's pretty much the same since we were using the table visual with all columns already. I've added the 2018 restriction 

AlB
Community Champion
Community Champion

@IHeardPeopleSay

 

It should work. Place all three fields, Year, Month and WeekOfMonth, in a table visual and then use the created calculated column in the filters to show when it is not blank.

Otherwise upload the pbix and I'll have a look . We'll make it work 

@AlB

 

Strange, it does work today, and can't find what didn't make it work yesterday, most probably a filter I didn't notice.

 

Anyway, thanks for being so forthcoming!

@AlB

 

The ShowColumn formula didn't work, keeps giving the same result I had before:

 

Year    Month    WeekOfMonth
2018  1             3
2018  4             3

 

I'll just use the measure.

AlB
Community Champion
Community Champion

@IHeardPeopleSay

 

You could also choose to set the restriction on Year = 2018 through a slicer instead of having it hard-coded in the column

@AlB

 

I would've used a slicer if the higher entities hadn't said that it's 'ugly.'

 

Though now that I think about it maybe I can just make it invisible.

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors