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!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi everyone, could someone help me out convert this DAX measure into M code please.
Basically, it is just getting the date and time from 6am til 3am the next day. thanks in advance 🙂
Adjusted Date =
SWITCH (
TRUE (),
Sales[Time] <= TIME ( 3, 0, 0 ), Sales[Date] - 1,
Sales[Time] < TIME ( 6, 0, 0 ), Sales[Date] - 1,
Sales[Time] >= TIME ( 6, 0, 0 ), Sales[Date]
)
Solved! Go to Solution.
@ronaldbalza2023 , Try like
if Sales[Time] <= #time( 3, 0, 0 ) then Date.Adddays(Sales[Date],-1)
else if Sales[Time] < #time( 6, 0, 0 ) then Date.Adddays(Sales[Date],-1)
else if Sales[Time] >= #time( 6, 0, 0 ) Sales[Date]
Simplify your measure,
Adj Date = Sales[Date] + ( SALES[Time] >= 6/24 ) - 1
It's equally simple in PQ,
= Table.AddColumn(#"Changed Type", "Adj Date PQ", each Date.AddDays([Date], Byte.From([Time]>=#time(6,0,0)) - 1))
| Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension! |
DAX is simple, but NOT EASY! |
@ronaldbalza2023 , Try like
if Sales[Time] <= #time( 3, 0, 0 ) then Date.Adddays(Sales[Date],-1)
else if Sales[Time] < #time( 6, 0, 0 ) then Date.Adddays(Sales[Date],-1)
else if Sales[Time] >= #time( 6, 0, 0 ) Sales[Date]
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 46 | |
| 42 | |
| 34 | |
| 31 | |
| 21 |
| User | Count |
|---|---|
| 140 | |
| 125 | |
| 100 | |
| 82 | |
| 64 |