I have run into this question very often in the forum, so I would like to share with you a trick I use at M to get a Dynamic Date table using your sales/fact table:
List.Min(FactTable[DateColumn]) => this will give you the start date of your FactTable data
List.Sum({List.Max(FactTable[DateColumn]), #duration(30, 0, 0, 0)}) => this will get the last date on your FactTable and #duration will add the amount of days you decide.
Also, be careful in always adding {} inside the List.Sum, otherwise you will get an error.
Hope this help you build a dynamic table of your model.
I always like my EndDate to be December 31st, sometimes I need an additional year for instance when we want to look ahead at planned orders etc. The M code below does the following:
EndDate returns December 31st of the current year and adds one year
DayCount counts the days between the StartDate and EndDate
DayCountAdd adds 1 day because you don’t need days between but you need that last day as well
then Source creates a list of all days.