Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
SC_Nshirke
Contributor
Contributor

Cross join in designer mode

Hi all, 

I've below data layout, which is required to be printed in a graph as below.

MemberidFirstNameEmployerStartMonthEndMonth
12789716Johnxxx2020-012021-03
7981161654Scottxxx2020-042020-06
5654764Janexxx2021-012021-03

 

SC_Nshirke_0-1620157835727.png

There are two ways I can accomplish this.

  1. Create a table using cross join to add report month or
  2. Using IterNo() on StartMonth and endMonth in the load script for Qlik to produce this information

In this case there will be a total of  21 rows for 3 users.

However, there is a problem in both approach. In both cases, we're providing data one way or the other to Qlik app during app refresh. If we take a millions of unique records , this approach takes very long time to load Qlik sense app.

I wanted to see if this could be achieved on the fly.  So, I was thinking is there a way to replicate this in the Designer mode using Dimension/measure and some special function?

Any help would be super helpful.  

2 Replies
Dalton_Ruer
Support
Support

I don't believe you can use the Data Wizard to use the IntervalFunction but that is exactly what you need to solve this style of a problem. It essentially does your cross join for you. You feed it a Master Calendar that has every month, and then call the IntervalFuncion to match up the Month to the Start/End months for your employees. 

That same algorithm works depending if you are trying to find things within months like this, or within hours so you can see who was staffing each hour. 15 minute increments or every minute.

I have attached a zip file that contains a bunch of files and different scenarios you can look to for help as well as see the other scenarios where IntervalMatch can be your friend. 

SC_Nshirke
Contributor
Contributor
Author

 Thanks @Dalton_Ruer for the suggestion! Let me take a look at this approach.