We use Redshift for reporting (or, more accurately, the tool we use for reporting uses Redshift).
It’s pretty simple to calculate daily rollups, using datetrunc:
select date_trunc('day', foo) date, sum(bar) bar from [baz] where ... group by date
Or just by casting to a date:
select [foo:date] date, sum(bar) bar from [baz] where ... group by date
But what if you want to slice into smaller time periods?
The easiest way I’ve found, is to use to_char, and format the timestamp appropriately. e.g.
select to_char(foo, 'YYYY-MM-DD HH24:MI') date, sum(bar) bar from [baz] where ... group by date