Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Expression.Error: We cannot apply operator - to types Function and DateTime.

This is really really weird. All the below is performed in the Transform Data section of Power BI

 

Simply the below statement causes an expression error (on around 1,000 rows or 69,000)

 

AGE(Days) if [DateCleared] = null then DateTime.LocalNow - [DateCreated] else [DateCleared] - [DateCreated]

 

This produces this Expression Error on some rows,

Out of 69,000 only around 1,000 are failing. Of those rows failingthey are all nulls in Date Cleared 

 

Expression.Error: We cannot apply operator - to types Function and DateTime.

Details:

    Operator=-

    Left=[Function]

    Right=15/10/2020 12:11:54

 

Assumptions 

Well yes it can perform that operation as it has done so in the past (without errors) as hightlighted below (yes its much shorter than the IF statement but shows the operation can be performed) 

 

AGE = DateTime.LocalNow() - [DateCreated]

 

The above operation was made through the Transform Data UI  Add Column>> From Date & Time >> Age and then going to Duration >> Days. This compeleted without errors

 

Yet when i try and hard code the above as a test using Custom Column just now it failed with Expression error  We cannot apply operator - to types Function and DateTime. But it did it using the UI 

 

Question (s)

1. How is it that i can achieve the result using the GUI but not hard coding it under Custom Column 

2. What is wrong with the IF statement 

  • Anonymous's avatar
    Anonymous
    5 years ago

    Use Date.From(DateTime.LocalNow())

     

     Now it's date-date. 
    --Nate

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Use Date.From(DateTime.LocalNow())

     

     Now it's date-date. 
    --Nate