cancel
Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Reply
leondnz
New Member

DAX - Date variable with blanks

I will try to explain in the best way possible what I need. So basically I have a calculated column from two other date columns, the "Off Rail" and "Rail Arrived", and like the dates of these columns have to respect an order, the off rail must happen before the rail arrived. The new columns must do these two checks:

 

1) Check if the Off Rail date happened before the Rail Arrived

2) Check if one of those values is BLANK

3) I'm having an issue regarding when these two dates are the same because if they are the same it's OK, but my formula does not return it, I wonder if the problem is at the less than or equal operator when I compare the dates between these two columns 

 

I've created a formula, but I'm not sure if it is in the proper context. I'd appreciate it if someone could take a look at it:

 

RAIL ARVD > OFF RAIL =

VAR Days = IF(

         NOT(ISBLANK(Plan[Rail Arrived])),
         DATEDIFF(Plan[Off Rail], Plan[Rail Arrived]DAY),
         BLANK()

         )

VAR SEBLANK = IF(NOT(ISBLANK(Days)), "OK""CHECK")

VAR SEDATE = IF(Days <= 0"CHECK""OK")

VAR FINAL = IF(SEBLANK = SEDATE"OK""CHECK")

RETURN

FINAL
1 ACCEPTED SOLUTION

So I tried but it still didn't solve the problem of the same dates, but your idea helped me to implement this new formula, I run some tests and apparently it is working now, thanks for the help @tamerj1 

 

RAIL ARVD > OFF RAIL =

VAR SEBLANK = IF(
                ISBLANK(Plan[Rail Arrived]), "CHECK",
                "OK"
                )

VAR SEDATA = IF(
                INT(DATEDIFF(Plan[Rail Arrived], Plan[Off Rail],DAY)) > 1, "CHECK",
                "OK"
               )

VAR FINAL = IF(
                OR(SEBLANK = "CHECK", SEDATA = "CHECK"),
                "CHECK", "OK"
              )
                 
RETURN
FINAL

View solution in original post

3 REPLIES 3
tamerj1
Super User
Super User

Hi @leondnz 

please try

=
IF (
Plan[Rail Arrived] = BLANK (),
"Check",
IF ( INT ( Plan[Off Rail] - Plan[Rail Arrived] ) >= 1, "Ok", "Check" )
)

So I tried but it still didn't solve the problem of the same dates, but your idea helped me to implement this new formula, I run some tests and apparently it is working now, thanks for the help @tamerj1 

 

RAIL ARVD > OFF RAIL =

VAR SEBLANK = IF(
                ISBLANK(Plan[Rail Arrived]), "CHECK",
                "OK"
                )

VAR SEDATA = IF(
                INT(DATEDIFF(Plan[Rail Arrived], Plan[Off Rail],DAY)) > 1, "CHECK",
                "OK"
               )

VAR FINAL = IF(
                OR(SEBLANK = "CHECK", SEDATA = "CHECK"),
                "CHECK", "OK"
              )
                 
RETURN
FINAL

Oh thanks, I'll try it

Helpful resources

Announcements
PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

Community News

Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors