In fact, i really don't understand why I can't use this statement.
LOAD 'Table1' AS Champ1, Champ2, RESIDENT MaPremiereTable; INNER JOIN LOAD Champ1, SUM(Indicateur1) AS Indicateur RESIDENT MaDeuxiemeTable GROUP BY Champ1;
LOAD 'Table2' AS Champ1, Champ2, RESIDENT MaPremiereTable; INNER JOIN LOAD Champ1, SUM(Indicateur2) AS Indicateur RESIDENT MaDeuxiemeTable GROUP BY Champ1;
When I execute the script, i don't get any errors, but i don't get a the result i am waiting for. For example, i don't get, in the column Champ1, the two differents string "Table1" and "Table2" but only "Table1" !?
Step 1 - You build a table with fields Champ1 and Champ2.
MaTable: Champ1, Champ2 1, A 2, B
Step 2 - You inner join to get field Indicateur
MaTable: Champ1, Champ2, Indicateur 1, A, 1 2, B, 2
Step 3 - You concatenate the Champ1 and Champ 2 fields again:
MaTable: Champ1, Champ2, Indicateur 1, A, 1 2, B, 2 1, A 2, B
Step 4 - You INNER join to Champ1=1,Indicateur=3 and Champ1=2,Indicateur=4. This eliminates the first two rows since they don't match the Indicateur values. Assuming I did all this right, you get only the second set of rows:
MaTable: Champ1, Champ2, Indicateur 1, A, 3 2, B, 4
In some cases, you would get rows from the first load as well, but only where sum(Indicateur1) = sum(Indicateur2), I believe.
You seem to be thinking that QlikView will somehow process both inner joins independently. It doesn't. The last inner join affects ALL rows of the original table, not just the most-recently-concatenated rows. QlikView doesn't remember which ones you most recently concatenated, and doesn't care.