Forum Discussion
bmccaslin
1 year agoRegular Visitor
Filtering Sales Data Between Friday 5pm - Monday 4am
Hello, I'm currently looking to filter out sales data that falls between Friday at 5pm and Monday at 4am. Is there a DAX that can accomplish this?
- 1 year ago
Hi bmccaslin please check this
Create a calculated column
Sales_Weekend_Filter =VAR SaleDateTime = Sheet2[DateTime]VAR SaleDay = WEEKDAY(SaleDateTime, 2)VAR SaleTime = TIME(HOUR(SaleDateTime), MINUTE(SaleDateTime), SECOND(SaleDateTime))RETURNIF((SaleDay = 5 && SaleTime >= TIME(17, 0, 0)) ||(SaleDay = 6) ||(SaleDay = 7) ||(SaleDay = 1 && SaleTime <= TIME(4, 0, 0)),"Exclude","Include")and the measureFiltered_Sales =CALCULATE(SUM(Sheet2[Sales Amount]),Sheet2[Sales_Weekend_Filter] = "Include") - 1 year ago
Hi bmccaslin,
Thank you for reaching out to the Microsoft fabric community forum. Thank you techies, for your inputs on this issue.Calculated Column:
IsWeekendSalesWindow = VAR WeekdayNumber = WEEKDAY(Sales[SalesDateTime], 2) -- Monday=1, Sunday=7 VAR TimeOnly = TIME(HOUR(Sales[SalesDateTime]), MINUTE(Sales[SalesDateTime]), SECOND(Sales[SalesDateTime])) RETURN SWITCH(TRUE(), -- Friday after 5 PM WeekdayNumber = 5 && TimeOnly >= TIME(17,0,0), TRUE, -- Saturday anytime WeekdayNumber = 6, TRUE, -- Sunday anytime WeekdayNumber = 7, TRUE, -- Monday before 4 AM WeekdayNumber = 1 && TimeOnly < TIME(4,0,0), TRUE, FALSE )Dax Measure:
SalesOutsideWeekendWindow = CALCULATE( SUM(Sales[SalesAmount]), FILTER( Sales, NOT ( VAR WeekdayNumber = WEEKDAY(Sales[SalesDateTime], 2) VAR TimeOnly = TIME(HOUR(Sales[SalesDateTime]), MINUTE(Sales[SalesDateTime]), SECOND(Sales[SalesDateTime])) RETURN SWITCH(TRUE(), WeekdayNumber = 5 && TimeOnly >= TIME(17,0,0), TRUE(), WeekdayNumber = 6, TRUE(), WeekdayNumber = 7, TRUE(), WeekdayNumber = 1 && TimeOnly < TIME(4,0,0), TRUE(), FALSE() ) ) ) )If this post helps, then please give us ‘Kudos’ and consider Accept it as a solution to help the other members find it more quickly.
Thank you for using Microsoft Community Forum.
techies
Super User
1 year agoHi bmccaslin please check this
Create a calculated column
Sales_Weekend_Filter =
VAR SaleDateTime = Sheet2[DateTime]
VAR SaleDay = WEEKDAY(SaleDateTime, 2)
VAR SaleTime = TIME(HOUR(SaleDateTime), MINUTE(SaleDateTime), SECOND(SaleDateTime))
RETURN
IF(
(SaleDay = 5 && SaleTime >= TIME(17, 0, 0)) ||
(SaleDay = 6) ||
(SaleDay = 7) ||
(SaleDay = 1 && SaleTime <= TIME(4, 0, 0)),
"Exclude",
"Include"
)
and the measure
Filtered_Sales =
CALCULATE(
SUM(Sheet2[Sales Amount]),
Sheet2[Sales_Weekend_Filter] = "Include"
)