Create A Beastmode filter that Shows Prior Year Sales in January, then switches to YTD starting Feb

Hi -

I'm looking to create a beastmode that is a filter - what that filter would do is display 2023 sales in January 2024 (excluding January), then starting February 2024 would switch to YTD.

This stems from our YTD cards going blank at the beginning of the year. It is important to keep the cards YTD and to only display 12 months at a time.

Best Answers

  • JasonAltenburg
    JasonAltenburg Contributor
    Answer ✓

    Hi @Stephanie_Price I think this is what you're looking for:

    CASE 
        WHEN 
            MONTH(CURRENT_DATE()) = 1 AND YEAR(`Date`) = YEAR(CURRENT_DATE()) - 1 
            THEN 'Include'
    
        WHEN 
            MONTH(CURRENT_DATE()) > 1 AND `Date` >= DATE_FORMAT(CURRENT_DATE() ,'%Y-01-01')
            THEN 'Include'
    
        ELSE 'Exclude' 
    END
    
    • First WHEN Clause (For January):
      • Checks if the current month is January (MONTH(CURRENT_DATE()) = 1).
      • Includes dates from the previous year (YEAR(Date) = YEAR(CURRENT_DATE()) - 1).
    • Second WHEN Clause (For February and onwards):
      • Checks if the current month is after January (MONTH(CURRENT_DATE()) > 1).
      • Includes dates from the start of the current year up to the current date (Date >= DATE_FORMAT(CURRENT_DATE() ,'%Y-01-01')).
    • ELSE Clause:
      • Excludes all other dates.

    This logic will show data from the previous year in January and YTD data from the current year starting in February.

  • Stephanie_Price
    Answer ✓

    This helped tremendously. Thank you.

Answers

  • JasonAltenburg
    JasonAltenburg Contributor
    Answer ✓

    Hi @Stephanie_Price I think this is what you're looking for:

    CASE 
        WHEN 
            MONTH(CURRENT_DATE()) = 1 AND YEAR(`Date`) = YEAR(CURRENT_DATE()) - 1 
            THEN 'Include'
    
        WHEN 
            MONTH(CURRENT_DATE()) > 1 AND `Date` >= DATE_FORMAT(CURRENT_DATE() ,'%Y-01-01')
            THEN 'Include'
    
        ELSE 'Exclude' 
    END
    
    • First WHEN Clause (For January):
      • Checks if the current month is January (MONTH(CURRENT_DATE()) = 1).
      • Includes dates from the previous year (YEAR(Date) = YEAR(CURRENT_DATE()) - 1).
    • Second WHEN Clause (For February and onwards):
      • Checks if the current month is after January (MONTH(CURRENT_DATE()) > 1).
      • Includes dates from the start of the current year up to the current date (Date >= DATE_FORMAT(CURRENT_DATE() ,'%Y-01-01')).
    • ELSE Clause:
      • Excludes all other dates.

    This logic will show data from the previous year in January and YTD data from the current year starting in February.

  • Stephanie_Price
    Answer ✓

    This helped tremendously. Thank you.