Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Cross referencing any two out of a dynamic number of dimensions

Hey hi people, I have a challenging question for you guys...

The goal is to create a BI logical schema which allows cross referencing a dynamic number of dimensions.

More precisely, imagine a medical diagnosis composed of many multiple choice symptoms questions; the idea is to cross reference any one of those symptom (list of dynamic possible answers) with a second symptom in a grid chart, having as an expression a simple count of patients.

The challenge here is: the numbers of distinct symptoms is dynamic (and the actual answers are dynamic too). Basically, at the source, the symptoms are values, not fields.

So each symptoms cannot be loaded in a simple separated field. So I though, grouping them into one field would solve that problem... but then as soon as you select the first symptom, it filters out all of the others, which prevents cross referencing.

On top of that, this schema has to allow filtering by a third (and a fourth, etc) symptom answer. Creating a cartesian extrapolation of the data is out of the question here, of course. Heh, we have QV 🙂

In a broad sense, how would approach that?

Thanks a bunch!

Cheers,

Nicolas D.

3 Replies
Not applicable
Author

Well... I've been banging my head over this, this morning, and I found a working model...

Very simple; loading the huge fact table 3 times:

Once for the X axix

Once for the Y axis,

And once for filters.

Having for a key, the patient.

Also, adding a patient count table to the mix for the sake of performances (replacing distinct count for simple sums).

It's working great, the only thing is normally, when I'm thinking about loading a fact TWICE... my brain immediately cringe, and I'm thinking they're must a better way... and now I'm at THREE times... hmm.

Well, it's a lot better then denormalize to the exponential but still... I'm sure they is a better way out there... especially with all of you geniuses hanging around this forum... and I like open discussions.

If you have an idea, please share!

Oleg_Troyansky
Partner Ambassador/MVP
Partner Ambassador/MVP

Nicolas,

it's quite difficult to visualize your problem without looking at the actual data... Just as a thought - instead of loading the Facts 3 times, maybe you could load just the distinct lists of symptoms 3 times (as three Islands, I suppose) and then let the user make selections from the Islands and "link" the data dynamically using Set Analysis? Not sure if it's even possible, but just to give you food for thought... I think Set Analysis should give you more flexibility in cross-footing different "sets" of symptoms.

good luck!

Not applicable
Author

Hey thanks Oleg for your suggestion...

Actually, I've implemented the "load fact table 3 times" concept and it proved to be very fast. It takes a little more memory tought.