Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Create a new column on if statement(Very basic support needed)

Hi im trying the most simple query. Any help?

 

 

if ([Actual End Date] < [Target End Date])
    then 1
        else 0

 

 

If date1 is less then date2 then put 1 in the column otherwise put 0.
Error: Expression.Error: We cannot convert the value null to type Logical.
Support? 

  • if ([Actual End Date] ?? #date(1,1,1)) < ([Target End Date] ?? #date(1,1,1)) then 1 else 0

8 Replies

  • CNENFRNL's avatar
    CNENFRNL
    Community Champion
    if ([Actual End Date] ?? #date(1,1,1)) < ([Target End Date] ?? #date(1,1,1)) then 1 else 0
    • Anonymous's avatar
      Anonymous
      Not applicable

      Ahh never thought to use the ?? In an if comparison--very cool.

       

      --Nate

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi thanks for answering. I need to do the same thing but replace [Actual End Date] with Today() or something which works simular:

      if (DateTime.Now() < ([Target End Date] ?? #date(1,1,1)) then 1 else 0

       Something simular to above should work. Any support?

      • Anonymous's avatar
        Anonymous
        Not applicable

        if (DateTime.LocalNow() <...

        --Nate

  • 6677028's avatar
    6677028
    Frequent Visitor

    It is very difficult for someone to help you in this case. if only this formula is not wrong. but it is used with many other formulas to know where is wrong.

  • Hi Anonymous 

    We need more info, I did a test on a simple dataset and it works...send us more code

  • KeyurPatel14's avatar
    KeyurPatel14
    Responsive Resident

    I have tried on this dummy data and it is working as per your requirement.
    I added one custom column with the formula mentioned below:

    Try this and if my solution solves your doubt then please consider it as a solution.

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    You have a null in one of your date fields,  so null > date isn't valid. Try each if is null [Actual End Date] or [Actual End Date] < [Target End Date] then 1 else 0

     

    --Nate