Beast Mode Date issue

I'm trying to build a beast mode field that does the following...

When the date_created is great than 131

and the last payment date is between 55 and 86 days, then we are in month 3

Tagged:

Answers

  • GrantSmith
    GrantSmith Coach
    edited May 2022

    How do you calculate month 1 or month 2? What about months after 3?

    You'll likely need some sort of CASE statement using a DATEDIFF + CURRENT_DATE function to count the difference between two dates but you'll need the different logic for other months besides month 3

    CASE WHEN DATEDIFF(CURRENT_DATE(), `date_created`) > 131 
              AND DATEDIFF(CURRENT_DATE(), `last_payment_date`) >= 55
              AND DATEDIFF(CURRENT_DATE(), `date_createdlast_payment_date`) <= 86 THEN 'Month 3'
    END
    
    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • jbryer
    jbryer Member

    I inherited some old code and it confuses me a bit.

    I'm trying to convert this to something that makes more sense to me


    Case when SUM(Case when DATEDIFF(CURDATE(),`DateCreated_UTC`) > 131 then 1 else 0 end) = 0 then -1.111 else (1 -SUM(Case when DATEDIFF(CURDATE(),`DateCreated_UTC`) > 131 and DATEDIFF(`LastPayment`,`DateCreated_UTC`) > 86 and DATEDIFF(`LastPayment`,`DateCreated_UTC`) > 55 then 1

    else 0 end)

    /

    SUM(Case when DATEDIFF(CURDATE(),`DateCreated_UTC`) > 131 and DATEDIFF(`LastPayment`,`DateCreated_UTC`) > 55 then 1

    else 0 end) )end