Forum Discussion
Previous Workday
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...
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
2 Replies
- OwenAugerSuper User
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
- AnonymousNot applicable
Perfect, thanks!