Group Sales Data by Hour by Day

Hi!

I have a dataset that has a timestamp as the date column. I need to sum the sales by hour for each day. I need this done in Magic ETL so I can do another part of my problem before putting it into a card. Is there a way to do this? I have been playing with 'Group By' tile and 'Rank & Window' tile but can't seem to figure it out.

Here is a easier sample of what I want:

Any tips would be appreciated!

Tagged:

Best Answers

  • GrantSmith
    GrantSmith Indiana 🥷
    Answer ✓

    Hi @DANIH

    You can use a formula tile to calculate the hour by converting your timestamp to a date (defaults to a time of 00:00:00) and then adding the number of hours in the timestamp.

    DATE(`dt`) + INTERVAL HOUR(`dt`) HOUR
    


    **Was this post helpful? Click Agree or Like below**

    **Did this solve your problem? Accept it as a solution!**
  • GrantSmith
    GrantSmith Indiana 🥷
    Answer ✓

    You'd group by the new timestamp field and SUM / aggregate your Sales column



    **Was this post helpful? Click Agree or Like below**

    **Did this solve your problem? Accept it as a solution!**

Answers

  • GrantSmith
    GrantSmith Indiana 🥷

    Alternatively you can truncate a timestamp to a part of the timestamp like hour with the TRUNC function:

    TRUNC(`dt`, 'HOUR')
    


    **Was this post helpful? Click Agree or Like below**

    **Did this solve your problem? Accept it as a solution!**
  • @GrantSmith I'm trying both of those options. So would I then do a group by tile to group by sales with the new timestamp column?