Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
So I have a calendar table and was able to create a calculated column that tags each workday with a 1. How would I create a calculated column to tag a day as the previous workday?
Here is the dax for my workday column...
Solved! Go to Solution.
Hi @Anonymous
Just confirming, are you wanting a 0/1 flag that is equal to 1 for the workday immediately before the current date when the table is refreshed/processed (i.e. TODAY() )?
If so, something like this should work:
Previous WorkDay =
VAR ReferenceDate = TODAY ()
VAR MaxWorkDayBeforeReferenceDate =
CALCULATE (
MAX ( 'Calendar'[Date] ),
ALL ( 'Calendar' ),
'Calendar'[Date] < ReferenceDate,
'Calendar'[WorkDay] = 1
)
RETURN
INT ( 'Calendar'[Date] = MaxWorkDayBeforeReferenceDate )
If you instead want a column that returns the date of the workday preceding the current row's date, something like this should work:
Previous WorkDay Date =
VAR ReferenceDate = 'Calendar'[Date]
RETURN
CALCULATE (
MAX ( 'Calendar'[Date] ),
ALL ( 'Calendar' ),
'Calendar'[Date] < ReferenceDate,
'Calendar'[WorkDay] = 1
)
Regards,
Owen
Perfect, thanks!
Hi @Anonymous
Just confirming, are you wanting a 0/1 flag that is equal to 1 for the workday immediately before the current date when the table is refreshed/processed (i.e. TODAY() )?
If so, something like this should work:
Previous WorkDay =
VAR ReferenceDate = TODAY ()
VAR MaxWorkDayBeforeReferenceDate =
CALCULATE (
MAX ( 'Calendar'[Date] ),
ALL ( 'Calendar' ),
'Calendar'[Date] < ReferenceDate,
'Calendar'[WorkDay] = 1
)
RETURN
INT ( 'Calendar'[Date] = MaxWorkDayBeforeReferenceDate )
If you instead want a column that returns the date of the workday preceding the current row's date, something like this should work:
Previous WorkDay Date =
VAR ReferenceDate = 'Calendar'[Date]
RETURN
CALCULATE (
MAX ( 'Calendar'[Date] ),
ALL ( 'Calendar' ),
'Calendar'[Date] < ReferenceDate,
'Calendar'[WorkDay] = 1
)
Regards,
Owen