Magic ETL

Magic ETL

Tenure calculation using differences between 2 dates (magic etl)

Hi,

 

I am creating a new variable using the add formula icon where I am creating time period bins that reflects the tenure of the consultant in reference to today. This is the formula I created:

case
when CURRENT_DATE() -`CD (Start)` < 90 then '3 Months'
when CURRENT_DATE() -`CD (Start)` >= 90 and CURRENT_DATE() -`CD (Start)` < 180 then '3-6 Months'
when CURRENT_DATE() -`CD (Start)` >= 180 and CURRENT_DATE() -`CD (Start)` < 270 then '6-9 Months'
when CURRENT_DATE() -`CD (Start)` >= 270 and CURRENT_DATE() -`CD (Start)` < 360 then '9-12 Months'
when CURRENT_DATE() -`CD (Start)` >= 360 and CURRENT_DATE() -`CD (Start)` < 720 then '1-2 Years'
when CURRENT_DATE() -`CD (Start)` >= 720 then '2+ years'
else 'Missing' end

 

But I get the following error message: Column of type date cannot be converted to type floating decimal. Surprising the formula above works in a beast mode. How come it is not working in Magic ETL?

Tagged:

Best Answer

  • Answer ✓

    You should use the DATEDIFF function to get this. You can also simplify your statement due to the way CASE statements process. Here is what I would suggest:

    1. case
    2. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) < 90 then '3 Months'
    3. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) < 180 then '3-6 Months'
    4. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) < 270 then '6-9 Months'
    5. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) < 360 then '9-12 Months'
    6. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) < 720 then '1-2 Years'
    7. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) >= 720 then '2+ years'
    8. else 'Missing' end
    **Check out my Domo Tips & Tricks Videos

    **Make sure to <3 any users posts that helped you.
    **Please mark as accepted the ones who solved your issue.

Answers

  • Answer ✓

    You should use the DATEDIFF function to get this. You can also simplify your statement due to the way CASE statements process. Here is what I would suggest:

    1. case
    2. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) < 90 then '3 Months'
    3. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) < 180 then '3-6 Months'
    4. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) < 270 then '6-9 Months'
    5. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) < 360 then '9-12 Months'
    6. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) < 720 then '1-2 Years'
    7. when DATEDIFF(CURRENT_DATE(),`CD (Start)`) >= 720 then '2+ years'
    8. else 'Missing' end
    **Check out my Domo Tips & Tricks Videos

    **Make sure to <3 any users posts that helped you.
    **Please mark as accepted the ones who solved your issue.

Welcome!

It looks like you're new here. Members get access to exclusive content, events, rewards, and more. Sign in or register to get started.
Sign In