We have implemented the QlikView Join, Keep and Concatenate in QvScriptor, a new revolutionary tool, able to generate QlikView script from visual schema.
We have written this small doc for the help file and we thing interesting to share it with the community as we found only partial explanations about the methods.
The QlikView script functions JOIN, KEEP and CONCATENATE can sometimes be used to solve the same problem, but there are important differences that should be understood.
Examine the sample tables below. Note that they share one common field name, "Key".
Also note that Table1 has a Key value "3" that is not present in Table2 and that Table2 has a key 4 that is not present in Table1.
Type of Joins:
JOIN will combine rows where the Key value matches.
The keyword OUTER will also retain rows that do not match rows in the other table.
The keyword LEFT will retain rows from the left table but only matching rows from the right table
The keyword RIGHT will retain rows from the right table but only matching rows from the left table
The keyword INNER will retain rows matching the left table and right table
Here's what the merged table will look like after the different join methods.
Note that QlikView merge the two tables after a Join.
Note: The explicit join keyword (= Outer Join) in QlikView script language performs a full join of the two tables. The result is one table. In many cases such joins will result in very large tables. One of the main features of QlikView is its ability to make associations between tables instead of joining them, which greatly reduces memory usage, increases processing speed and offers enormous flexibility. Explicit joins should therefore be generally avoided in QlikView scripts. The keep functionality was designed to reduce the number of cases where you need to use explicit joins