SSIS Derived column giving error on CAST function
You are not using the expression you are showing in your question as evidenced by the error message.


  Attempt to parse the expression "(DT_DATE)DATEADD(DAY,-1GETDATE())"
  failed and returned an error


Your expression with problems is the one for Batch_as_of_Date

(DT_DATE)DATEADD(DAY, -1, GETDATE())


If you don't put double quotes around the first argument SSIS tries to parse it as a column. Since you don't have a DAY column in your input columns so you get this error message:


  Attempt to find the input column named "DAY" failed ....


So your expression would need to be

DATEADD("Day", -1, GETDATE())


This is clearly documented in DATEADD (SSIS Expression)