cancel
Showing results for
Did you mean:

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Regular Visitor

## Return the 2nd Tuesday of every Month

I am trying to return the 2nd Tuesday of every month. My table has a date for everyday. How can I return this based on the that field.

1 ACCEPTED SOLUTION
Microsoft

Please try this as a caluculated column

```Is 2nd Tuesday =
VAR a = 'Dates'[Date]
VAR y = FILTER(
ALL(Dates[Date]),
YEAR('Dates'[Date]) = YEAR(a) &&
MONTH('Dates'[Date]) = MONTH(a) &&
DAY([Date]) > 7 &&
DAY([Date]) < 15 &&
WEEKDAY([Date],3) = 1)
RETURN MAXX(y,[Date])```

Proud to be a Datanaut!

15 REPLIES 15
Super User

Hi @tacobannas,

Create these two column:

```MonthWeekday = MONTH('Calendar'[Date]) & WEEKDAY('Calendar'[Date])

weekday_Number = WEEKDAY('Calendar'[Date])```

Then create this measure:

```2nd Tuesday =
VAR Date_Max =
MAX ( 'Calendar'[Date] )
VAR Month_week_Max =
MAX ( 'Calendar'[MonthWeekday] )
RETURN
IF (
CALCULATE (
COUNT ( 'Calendar'[MonthWeekday] ),
'Calendar'[Date] <= Date_Max,
'Calendar'[MonthWeekday] = Month_week_Max
)
= 2
&& MAX ( 'Calendar'[weekday_Number] ) = 3,
"2nd",
""
)```

Add the measure as a filter on your visuals and you should get the result you need:

Regards,

MFelix

Regards

Miguel Félix

Proud to be a Super User!

Check out my blog: Power BI em Português

Regular Visitor

Thanks, that works as a measure, but I was hoping to return the 2nd Tuesday each month as a date in a column. So for everday of the month in my calendar table I would have a corresponding column with the 2nd Tuesday date.

Microsoft

Please try this as a calculated column

```Is 2nd Tuesday =
VAR x =  IF(WEEKDAY([Date],1) = 3 , DAY([Date]) , 0)
RETURN IF(x > 7 && x < 15 , 1 , 0)```

Proud to be a Datanaut!

Regular Visitor

That appears to work returning true or false, however I want to return the actual date of the 2nd Tuesday.

Microsoft

Hi

```Is 2nd Tuesday =
VAR x =  IF(WEEKDAY([Date],1) = 3 , DAY([Date]) , 0)
RETURN IF(x > 7 && x < 15 , [Date] , blank())```

Proud to be a Datanaut!

Anonymous
Not applicable

Hi,

How to get the last tuesday of a month? I want to add a calculated coloumn in my table which should return the current month of the date of that row. But current is from Last wednesday of the previous month to last tuesday of the current month rather than just month(date).

Regular Visitor

This appears to be working, but I need that to be filled into every row value pair, not blank in the instance it is not the 2nd Tuesday.

Microsoft

So do you mean every row for the month will carry the date that happens to be the 2nd tuesday of each month?

Proud to be a Datanaut!

Microsoft

Please try this as a caluculated column

```Is 2nd Tuesday =
VAR a = 'Dates'[Date]
VAR y = FILTER(
ALL(Dates[Date]),
YEAR('Dates'[Date]) = YEAR(a) &&
MONTH('Dates'[Date]) = MONTH(a) &&
DAY([Date]) > 7 &&
DAY([Date]) < 15 &&
WEEKDAY([Date],3) = 1)
RETURN MAXX(y,[Date])```

Proud to be a Datanaut!

Community Champion

@tacobannas my Power Query solution also fits your requirements.

Specializing in Power Query Formula Language (M)
Regular Visitor

@MarcelBeug I am not sure how to convert that power query statement into the correct power bi syntax.

Community Champion

Power BI encompasses 2 languages: Power Query (M) and DAX.

If you're not comfortable with Power Query, you can use a DAX solution.

Also Power Query is correct Power BI syntax.

As I already explained, in the Query Editor you can add a custom column.

A screen shot of adding a custom column (taken from another topic, so with another formula):

Specializing in Power Query Formula Language (M)
Regular Visitor

@MarcelBeug thanks for the further clarification. My date table is not a table that shows up in query editor, so I am guessing I can't use your Power Query solution.... I created the date table by creating a new caculated column. I am probably a bit more confused as well since I am new to PowerBI 🙂

However @Phil_Seamark solution is working so I think I will just stick with that.

```2ndTuesday = VAR a = 'Date'[Date]
VAR y = FILTER(
ALL('Date'[Date]),
YEAR('Date'[Date]) = YEAR(a) &&
MONTH('Date'[Date]) = MONTH(a) &&
DAY('Date'[Date]) > 7 &&
DAY('Date'[Date]) < 15 &&
WEEKDAY('Date'[Date],3) = 1)
RETURN MAXX(y,'Date'[Date])```

Thanks everyone for the help and quick response

Community Champion

A power Query solution: add a column with formula:

`= Date.StartOfWeek(#date(Date.Year([Date]),Date.Month([Date]),14),Day.Tuesday)`

This wil take the 14th of the year/month of the date, and from that date: the start of the week, with Tuesday as the first day of the week. So that must be the 2nd Tuesday in the month.

Specializing in Power Query Formula Language (M)
Kudo Kingpin

@MarcelBeug: I found this method super helpful in getting Daylight Savings Time for a local refresh time function

Announcements

#### Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

#### Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

#### The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors