Try this script:
LOAD * INLINE
Date#(DATE) as ToDate,
If(STORE=Previous(STORE),Date(Date#(Previous(DATE)) +1),Date#( '01/04/2016') ) as FromDate
Resident [Store Dates] Order by STORE, DATE;
DROP Table [Store Dates];
This creates this table with proper intervals on which you can perform an IntervalMatch with extended syntax. I guessed at a begin date of 01/04/2016.
STORE FromDate ToDate 001 01/04/2016 11/05/2016 001 12/05/2016 11/09/2016 002 01/04/2016 02/06/2016 002 03/06/2016 04/08/2016 003 01/04/2016 20/04/2016 003 21/04/2016 14/10/2016
If your sales table has fields STORE and SALES then try an IntervalMatch along these lines:
IntervalMatch (SALES,STORE) LOAD FromDate, ToDate, STORE resident [Store Dates1];
This will give you a synthetic key but don't be alarmed. This is to be expected and is not a problem. When QlikView creates a synthetic key as a result of a properly implemented IntervalMatch the synthetic key it creates is an efficient link table allowing intervals in one table to be associated with distinct values in another.