Magic ETL

Magic ETL

beast mode within a beast mode

Hello,

 

I'm creating a card based upon the changes in tenure buckets of our sales reps. I am using start date and "As of" date (or the date we import the roster data. "As of" would be today's date, for instance).

From there, I want to bucket it into different ranges like "0-6 months," 1-2 years," and so on. 

Another piece of this is there are many reps who have terminated. So in cases when there is a termination date present, I want to subtract start date from that date rather than "as of" date.

 

tl;dr : i need to beast mode the actual date difference of start date & today OR term date & start date

then i need to group these into digestible buckets. 

 

This is what I have but I can't figure out how to format it:

 

CASE
when `Termination Date` is not NULL and
(when DATEDIFF(`Termination Date`, `Adjusted Start Date`) <180 then '0-6 Months'
when DATEDIFF(`Termination Date`, `Adjusted Start Date`) >=180 and DATEDIFF(`As Of`, `Adjusted Start Date`) <=365 then '6-12 Months'
when DATEDIFF(`Termination Date`, `Adjusted Start Date`) >365 and DATEDIFF(`As Of`, `Adjusted Start Date`) <=730 then '1-2 Years'
when DATEDIFF(`Termination Date`, `Adjusted Start Date`) > 730 then '2+ Years') else

when `Termination Date`is NULL and
(when DATEDIFF(`As Of`, `Adjusted Start Date`) <180 then '0-6 Months'
when DATEDIFF(`As Of`, `Adjusted Start Date`) >=180 and DATEDIFF(`As Of`, `Adjusted Start Date`) <=365 then '6-12 Months'
when DATEDIFF(`As Of`, `Adjusted Start Date`) >365 and DATEDIFF(`As Of`, `Adjusted Start Date`) <=730 then '1-2 Years'
when DATEDIFF(`As Of`, `Adjusted Start Date`) > 730 then '2+ Years')
END

Best Answer

  • Domo Employee
    Answer ✓

    Try this:

     

    CASE
    WHEN DATEDIFF(IFNULL(`Termination Date`,`As Of`),`Adjusted Start Date`)<180 THEN '0-6 Months'
    WHEN DATEDIFF(IFNULL(`Termination Date`,`As Of`),`Adjusted Start Date`)<=365 THEN '6-12 Months'
    WHEN DATEDIFF(IFNULL(`Termination Date`,`As Of`),`Adjusted Start Date`)<=730 THEN '1-2 Years'
    WHEN DATEDIFF(IFNULL(`Termination Date`,`As Of`),`Adjusted Start Date`)>730 THEN '2+ Years'
    ELSE 'Unknown'
    END

     

    You shouldn't really need the "ELSE 'Unknown'" line.  I like to add it in just in case there are cases that are not included in the other buckets

Answers

  • Domo Employee
    Answer ✓

    Try this:

     

    CASE
    WHEN DATEDIFF(IFNULL(`Termination Date`,`As Of`),`Adjusted Start Date`)<180 THEN '0-6 Months'
    WHEN DATEDIFF(IFNULL(`Termination Date`,`As Of`),`Adjusted Start Date`)<=365 THEN '6-12 Months'
    WHEN DATEDIFF(IFNULL(`Termination Date`,`As Of`),`Adjusted Start Date`)<=730 THEN '1-2 Years'
    WHEN DATEDIFF(IFNULL(`Termination Date`,`As Of`),`Adjusted Start Date`)>730 THEN '2+ Years'
    ELSE 'Unknown'
    END

     

    You shouldn't really need the "ELSE 'Unknown'" line.  I like to add it in just in case there are cases that are not included in the other buckets

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