Dynamically generate list of consecutive dates.
List of dates can be joined to sparse time series data. Having generated dates (fully covered your MIN(orderDate)
TO MAX(orderDate)
interval) left joined with (i.e.) Orders produce backfilled dates.
This how-to utilise Snowflake Sequences (https://docs.snowflake.net/manuals/user-guide/querying-sequences.html). Idea is pretty simple: generate consecutive list of numbers, join (cartesian matrix) it with one date and based on result (two columns: list of numbers and list of one date value), apply DATE operation adding or subtracting specific number from fixed data. As a result, you'll get list of consecutive dates.
- fixed number ("100") CAN NOT BE replaced by SQL (i.e.
SELECT COUNT(orders) FROM t1
) - it has to be a number - fixes date CAN BE replaced by SQL (i.e.
SELECT MAX(date) FROM t1
) - in that case, dates are generated from the last (youngest) order
@padak I believe it's better to use seq8 function in the example, as it works with generating "any" number of rows.