Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
hewemel1
Partner - Contributor II
Partner - Contributor II

bug with cross products: V9? And V10??

I have developed hundreds of lines of QV code for our company. At one point, I got a problem. I think, that I found a bug in the QV interpreter of V9 (9.00.7502.8 SR 5 64 bit x64).

Could anybody having V9 still in use please check?

We plan to upgrade to V10. Could anybody please check for V10?

Many thanks in advance.

I reduced and simplified the code to the following trivial demo code.

The JOIN calculates a complete cross product of Table2 and Table3. The resulting table cannot be CONCATENATEd to Table1! The concatenate is simply ignored. When I view Table1 in the GUI, it still has only two rows.

If I add an arbitrary field with arbitrary content to the cross product, the resulting table can be concatenated and the expected result for Table1 is generated: 6 rows (the original 2 rows plus 2x2=4 rows for the cross product of Table2 and Table3).

//-------

Table1:

LOAD * INLINE [

    A, B

    A1, B1

    A2, B2

];

Table2:

LOAD * INLINE [

    A

    A3

    A4

];

Table3:

LOAD * INLINE [

    B

    B3

    B4

];

Table4:

NOCONCATENATE LOAD * RESIDENT Table2;

JOIN (Table4) LOAD * RESIDENT Table3;

// Code version1: This code does not work: Table4, generated as full cross product by the JOIN, is not appended to Table1!

// Result (GUI): Table1 with the original two rows

CONCATENATE (Table1) LOAD * RESIDENT Table4;

// Code version2: This code does work - with the work-around. The concatenate is done after having added a dummy field to the cross product.

// Result (GUI): Table 1 with the expected 6 rows

/*

CONCATENATE (Table1) LOAD *, null() as dummy RESIDENT Table4;

DROP FIELD dummy FROM Table1;

*/

// clean up

DROP TABLE Table2, Table3, Table4;

0 Replies