Beast Mode for Calculating Yesterday, WTD, MTD, YTD

Hey all,

 

I am trying to create a PostgreSQL dataflow that will create a cumulative row column for my dataset to show "Yesterday," "Week-to-Date," "Month-to-Date," and "Year-to-Date." 

 

For example, please see what I would like to accomplish below:

 

 Screen Shot 2018-09-06 at 3.57.45 PM.png

 

 

 

 

 

How would I go about creating a Cumulative Sum (WTD, MTD, YTD) row that will include all of the data that I'm looking for?

 

Thanks in advance.

Comments

  • I've done something similar here and I basically created a transform for each aggregated metric, and unioned them all together.

    There were some datatype mismatching in that first date column and other issues that had to be ironed out, but each row (after the daily aggregations) is simply a rerun of the same aggregations but on a higher (monthly and yearly) level.

    Pseudo SQL:

    select dates, sum(sales)
    group by dates
    UNION ALL
    select week, sum(sales)
    group by week
    UNION ALL
    select month, sum(sales)
    group by month
    UNION ALL
    select year, sum(sales)
    group by year