To fill in the missing dates you'll have to create a MasterCalendar on which you should join your sales figures.
You will have Null values for the dates where you did not sell a certain product. You can use the Peek and Previous functions to populate these fields with Null values.
LOAD *,Previous(PERIODO) as P_1,Previous(CUSTO) as C_1 Inline [
P_1 + IterNo() as PERIODO,C_1 as CUSTO
//Date(MonthStart(Date#(P_1,'YYYYMM'),IterNo()-1),'YYYYMM') as PERIODO1 //if You need PERIODO as Date Field
While (P_1 + IterNo()+1) <= PERIODO;
Looks like you saved the day, my friend.
Just for knowledge. I only used two loops following your example. The first one was like yours, to load new lines for each blank period until the next one arrives, and another, to load new lines with the last period of purchase until today, in case of no purchases in the last month.