TempData: LOAD * INLINE [ID, SDate, EDate, Value, Duration 1, 11.06.2022, 11.07.2022, A, 30 1, 12.07.2022, 11.08.2022, A1, 30 1, 19.08.2022, 19.08.2022, A2, 30 1, 19.08.2022, 31.12.9999, B1, 365 2, 01.01.2022, 31.01.2022, C1, 30 2, 31.01.2022, 01.03.2022, C2, 30 2, 02.03.2022, 01.04.2022, C3, 30 3, 05.06.2022, 05.07.2022, D1, 30 3, 09.09.2022, 09.10.2022, D2, 30]; //Source: https://community.qlik.com/t5/Qlik-Sense-Documents/Understanding-the-Master-Calendar-video/ta-p/1479997 QuartersMap: MAPPING LOAD rowno() as Month, 'Q' & Ceil (rowno()/3) as Quarter AUTOGENERATE (12); Temp: Load min(SDate) as minDate, if(MAX(EDate)='31.12.9999',max(SDate +Duration), MAX(EDate)) as maxDate Resident TempData; Let varMinDate = Num(Peek('minDate', 0, 'Temp')); Let varMaxDate = Num(Peek('maxDate', 0, 'Temp')); DROP Table Temp; TempCalendar: LOAD $(varMinDate) + Iterno()-1 as Num, Date($(varMinDate) + IterNo() - 1) as TempDate AutoGenerate 1 While $(varMinDate) + IterNo() -1 <= $(varMaxDate); MasterCalendar: Load TempDate AS SelectDate, week(TempDate) As Week, Year(TempDate) As Year, Date(TempDate,'MM') As Month, Year(TempDate) &'.'&Date(TempDate,'MM') as YearMonth, Day(TempDate) As Day, ApplyMap('QuartersMap', month(TempDate), Null()) as Quarter, Week(weekstart(TempDate)) & '-' & WeekYear(TempDate) as WeekYear, WeekDay(TempDate) as WeekDay Resident TempCalendar Order By TempDate ASC; Drop Table TempCalendar; Daten: NoConcatenate Load *, 0 as churn resident TempData; drop table TempData; Inner Join IntervalMatch (SelectDate) Load SDate, EDate Resident Daten; exit script;