Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Announcements

Breathe easy -- you now have more time to plan your next steps with Qlik!
QlikView 11.2 Extended Support is now valid through December 31, 2020. Click here for more information.

hewemel1
Not applicable

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;

Tags (3)