Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
What a horrible subject for my first post! Here's my issue simplified. Consider a dimensional model with 2 fact tables Fact1 and Fact2. Fact1 has two related dimensions, Date and Location1. Fact two is conformed on Date (shares the dimension with Fact1) and that is it (very simplified).
If you filter on Location1, it appears that you will automatically start to filter out members from Date that have no corresponding relationship to Fact1 - that would be fine if these Date members were only related to Fact1 but....Problem for me is, that some of these filtered members do have a relationship with Fact2. If this is indeed happening, I am losing facts from Fact2 indirectly because I filtered on a dimension that is not even related to Fact2 -> Location1 in this case.
I have tested this out and this seems to be the way it works. Is there any way to stop this cascading filter effect? Is this effect part of what folks call the "associative model" ?
Hi Tim,
Within QlikView, if you selected the Location, then the dates will then contract/reduce to only show dates for the location you have selected....this will then indeed start to contract the whole data model within your application, and then only show you selections from your joined second table where the dates equal the dates that have been reduced as a result of your location selection.
There are ways around this but essentially you are performing an active inner join when selections are made.
Make sense?!?!
Cheers.
Ad.
Hi Tim,
Within QlikView, if you selected the Location, then the dates will then contract/reduce to only show dates for the location you have selected....this will then indeed start to contract the whole data model within your application, and then only show you selections from your joined second table where the dates equal the dates that have been reduced as a result of your location selection.
There are ways around this but essentially you are performing an active inner join when selections are made.
Make sense?!?!
Cheers.
Ad.
just to clarify....you are really performing an active join rather than just an inner....you just jhave to remember that the model will contract when selections are made.
THanks Ad. I appreciate you taking the time to answer. This "behaviour" is problematic for me. Let me indulge in an analogy. Joe plays hockey on 3 teams. Two team do not have official and one does. All Joe's statistics are posted weekly on a web site that covers all three teams. On night, Joe gets a game suspension. That game suspension eliminates one week of from his officiated team. However, there is an unfortunate side effect. Somehow, his stats for the other two teams get eliminated for that weak too because the web site uses an associative model to track stats and they have set the "no suspension" filter!
What you wrote make sense to me but the way it work doesn't really make sense to me. If a filter is only related to one fact table, I think it should only "contract" dates that not related to any fact table in which the date is conformed across. Does'nt this seem reasonable? I am definately interested in how I can control for this.