I needed a scenario to run the first Monday of the month. Make’s built-in scheduling only supports specific date scheduling or “every weekday” scheduling, not “X weekday of month”.
Here’s my solution:
Set scenario to run every Monday
Use Tools > Set Variable module as first module. Create a “7_days_ago” variable using the addDays formula to subtract 7 days from the current date.
Create a filter following the Tools module to only run the following actions if it’s the first Monday of the month (if the month number of 7_days_ago is less than the month number of today)
While this is a good idea, technically this doesn’t exactly schedule the scenario for first Monday of the month, but for all Mondays in the month, with a filter to only run the rest of the scenario if it’s the first Monday.
So it can cost a minimum of five operations a month.
It would be nice to have Make build this directly into the scheduling system itself, to be able to select “1st <weekday:Monday> of the month”, “3rd <weekday:Monday> of the month”, etc.
Your solution is way more elegant than mine. For now, I’m sticking with my way because I’m fine with burning the extra operations, but I appreciate you taking the time to document a better way. I’ll come back to your post and give that a try soon.
I agree, it seems silly that this even has to be a discussion. You would think this would be a built-in scenario scheduling option. But I love so much else about Make I’m okay with a workaround.
And I did find an existing request for this scheduling feature here and upvoted it. Anybody who stumbles onto this thread and would also like the “nth weekday of the month” scheduling option should go upvote as well.