Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
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.
Solved! Go to Solution.
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])
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êsThanks, 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.
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)
That appears to work returning true or false, however I want to return the actual date of the 2nd Tuesday.
Hi
Please try this
Is 2nd Tuesday = VAR x = IF(WEEKDAY([Date],1) = 3 , DAY([Date]) , 0) RETURN IF(x > 7 && x < 15 , [Date] , blank())
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).
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.
So do you mean every row for the month will carry the date that happens to be the 2nd tuesday of each month?
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])
@tacobannas my Power Query solution also fits your requirements.
@MarcelBeug I am not sure how to convert that power query statement into the correct power bi syntax.
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):
@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
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.
@MarcelBeug: I found this method super helpful in getting Daylight Savings Time for a local refresh time function.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
89 | |
87 | |
81 | |
64 | |
49 |
User | Count |
---|---|
123 | |
109 | |
87 | |
67 | |
66 |