Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
jenniferhoward
Regular Visitor

Calculation if time falls between 7pm-midnight

Hi

I am having trouble getting this to work in DAX.  I have a time column and need to calculate a new date based on the time.

SO if the time if >7:00:00 PM and < 12:00:00 AM, I need to add one day to my date column.   So basically if the date shows 3/14/22 but the time on the same row is 8:00:00 PM for example, I would like to have the new column calculate the date to show 3/15/22.

I am new to DAX and have been trying if(and to try to add the day if it is between the times mentioned but am getting syntax and other errors.  For example below this code just returns "Error"

 

if([Time of Cancel]>"6:59:59 PM") and ([Time of Cancel]<"12:01:00 AM")
then ([#"Payment Cancellation Date/Time"]+1)
else ([#"Payment Cancellation Date/Time"])

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @jenniferhoward ,

 

1. Create a calculated column by using DAX:

 

Column = IF([time]>TIME(18,59,59) ,DATEADD('Table'[date].[Date],1,DAY),[date])

 

Eyelyn9_2-1647832804423.png

 

 

2. Create a custom column in Power Query:

 

if [time]> Time.FromText("18:59:59") then Date.AddDays([date],1) else [date]

 

Eyelyn9_3-1647833065864.png

 


Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

4 REPLIES 4
Anonymous
Not applicable

Hi @jenniferhoward ,

 

1. Create a calculated column by using DAX:

 

Column = IF([time]>TIME(18,59,59) ,DATEADD('Table'[date].[Date],1,DAY),[date])

 

Eyelyn9_2-1647832804423.png

 

 

2. Create a custom column in Power Query:

 

if [time]> Time.FromText("18:59:59") then Date.AddDays([date],1) else [date]

 

Eyelyn9_3-1647833065864.png

 


Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

You're amazing -thanks so much!

mh2587
Super User
Super User

if([Time of Cancel]>"6:59:59 PM") && ([Time of Cancel]<"12:01:00 AM"),DATEADD(DateTable[#"Payment Cancellation Date/Time"],+1,DAY),DateTable[#"Payment Cancellation Date/Time"])


Did I answer your question? If so, please mark my post as a solution!


Proud to be a Super User!




LinkedIn Icon
Muhammad Hasnain



I haven't been able to get this to work.  Now trying it Power Query and the error is that it can't compare dates with < > operators.  This is what I was trying to do.

 

if [Related Payment Date]>"6:59:59 pm" and [#"Payment Cancellation Date/Time"]<"12:00:00 am" then [#"Payment Cancellation Date/Time"]+1
else [#"Payment Cancellation Date/Time"])

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.