Тебе нужен источник данных, в котором содержатся все даты последовательно.
Для этого я использовал запрос к БД. Пример на ORACLE:
SELECT least(DATE '2016-09-01',
trunc(SYSDATE)) - 1 + LEVEL dt
FROM dual
CONNECT BY LEVEL <= abs(DATE '2016-09-01' - trunc(SYSDATE)) + 1