I think you are asking about the associativity in Qlikview. When you load your dimensions and facts using the script, the Qlikview engine identifies the fields with the same names and performs full outer join of the tables based on these fields. And the full data will be loaded to Qlikview memory.
When you try to retreive data from the charts based on filters, dimensions and expressions, Qlikview forms associations between data which is already loaded, and return the correct set of data. Note that the manipulations are done after loading data to memory.
You can search in the resources available in the Qlikview site to get more details.
Many traditional BI tools have all numbers pre-calculated. Then you are limited to displaying only the numbers in the cube.
But if you instead have all the data in memory and calculate all expressions on-the-fly, you get much greater flexibility. You can allow a much greater range of formulae and you can let a power user with no knowledge of the original database create charts with complex KPIs.
Thanks all for responding to me!
As I never worked on anyother tool I don't have much knowledge on cube. Could you just please explain me? I have also learnt that creating cube is time consuming and difficult task to do it.
"Then you are limited to displaying only the numbers in the cube."
I am not clear about the above line! Do you mean to say that interactive dashboard is not possible? Please help me to understand as I don't have knowledge on other tools!
The "In Memory BI" allows you to make a "portable dashboard", in only one file, independently of the strategy of calculation you have used (In the objects, with Set Analysis f.e.m or in Script)
You can reload your big or small dashboard, and take it with you for your trip, and study it in the trip. Also, in this trip, you can modify the objects, layout, expresions and even create new objects, without any Internet Connection.
For example, Cognos requires a continous connection with the database.
Now, let me ask... why do you make these questions? I think that with your reputation, you should know these answers... Are you take an exam to us!!!! jejeje....
Please, let us know your oppinion.
As the question asked for disadvantages as well as advantages, I will add my case for the disadvantages (and wait for the chorus of disapproval ).
1: Having all the data in memory is okay as long as the memory is stable. Unfortunately memory issues are not always immediately noticed such as in this instance (http://qlikcommunity.qliktech.com/message/174324#174324), where the expression returns zero instead of an error. This error might seem trivial and very isolated, but if decisions are being made on the basis of its value (let's say this figure is a subset of an expression to calculate medicinal dosage levels), you can quickly see how serious it could become. On this error alone, I do not recommend Qlikview for anything other than an "info only" implementation. I certainly recommend making all (or as many as possible) calculations in the load script.
2: The support from Qlikview is minimal. I tried to report the above when I first noticed it and was advised just to raise the question in this forum - this is much too casual an approach from them. (PS I am trying to revive the maintenance contract in my company, but 3 months on and no luck so far !!).
3: In this example (http://qlikcommunity.qliktech.com/thread/46600), the data connection is not handling the error correctly. Yes, the data in the backend could/should be corrected and yes, the provider itself is not the best choice - but the problem is Qlikview is returning incorrect data (probably through some caching) when Excel says "No - I can't do this there's an error". I wonder if other similar issues are going unnoticed.
As a long time user of Qlikview (6years), it is a fun tool, but as a Microsoft Certified developer it has a long way to go yet.