Calculation of previous dated values

Options
LearningNinja
LearningNinja Member
edited June 3 in Beast Mode

I am trying to calculate trailing period (previous period) calc. I have year(variable selector), month(dropdown selector chart using column from table)

If i select Year = 2024 and Month = Feb, I should get the data for 2024-JAN.

Tried this formula but failing to get the correct figure. RecordDate(date format col) is another column holds the last day of the month. (Date -format column).

SUM(
CASE
WHEN
-- If selected year+month, trailing period is same year but previous month
Year = YrSelector AND Month = MONTH(RecordDate) THEN SalesValue /* Previous month */ WHEN
-- If no additional selection, trailing period is previous year
(`Year` = `YrSelector` - 1) AND `Month` IS NULL THEN SalesValue /* Previous year */

ELSE 0
END )

Answers

  • Luke_Mielke
    Options

    It looks like your first condition isn't looking for the previous month.

    WHEN Year = YrSelector AND 'Month' = MONTH(DATE_SUB(RecordDate, INTERVAL 1 MONTH)) THEN SalesValue

    If your data crosses Dec 2023 and Jan 2024, you'll also likely need something for that condition.


    WHEN Year = YrSelector - 1 AND 'Month' = 12 AND YrSelector = 2024 AND MONTH(RecordDate) = 1 THEN SalesValue

    Hope this helps :)

  • LearningNinja
    Options

    @Luke_Mielke - I have tried doing a DATE_SUB, still no luck. For some reason it is not picking the calc. If I hard-code it with prev month number , it prints the value. something like,

    Let's say my current month is 2. If i pass 1, it gives value but not able to make it dynamic.

    WHEN Year = YrSelector AND 'Month' = 1) THEN SalesValue