Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
jepeerik
Contributor III
Contributor III

Why is concatenating messing up my data?

Hi Qlik experts,

I've got a very strange behaviour of a very simple concatenate of 2 tables.

After a concatenate some lines are having data from other lines instead of their own data. It looks like that a simple concatenate is messing up my table.

My problem was arising in Qlik Sense, but finally to make sure it's not some new version 'feature' of Qlik Sense I've also created the example in QlikView 12.10 (attached to this question).

Problem described, based on example general ledger account number 808000.

Before concatenating the GL account has ReportRow 'Omzet TOP'.

After concatenating the GL account has ReportRow 'Materiële vaste activa'.

When I load one table (balance accounts) it contains no GL account 808000. This file is containing ReportRow 'Materiële vaste activa' on other GL accounts.

When I concatenate the second table (PnL accounts) it contains the account 808000, with ReportRow 'Omzet TOP'.

Final result is one table, containing GL account 808000, but with ReportRow 'Materiële vaste activa'.

I call it a WTF???

Attached the 2 source QVD's and a QVW with the example.

The first part of the code is the original 'stripped down' code, but for testing purposes I've commented it.

Underneath 3 test tables.

Can anybody clearify this WTF?

Thanks a lot.

Sharing knowledge increases your knowledge
1 Solution

Accepted Solutions
marcus_sommer

After looking more deeply into the matter I could confirm your observation but it isn't really weird else it is caused from the fact that the field ReportRow is a dual-field and the numeric value of both strings is the same - this means it is a data-quality issue from the processes in beforehand:

The listboxes show just:

=num(ReportRow2) & ' - ' & text(ReportRow2)

for the single table and the merged one.

- Marcus

View solution in original post

4 Replies
marcus_sommer

For me it looked fine and at a first glance I couldn't notice messing data or any weird behaviour. To check the data I just add a rowno() and recno() to the loadings and sorted then the tableboxes with them - without them it will be more expensive to ensure that each tablebox applies the same sorting.

- Marcus

jepeerik
Contributor III
Contributor III
Author

Hi Marcus,

Thanks for looking at my problem.

Attached a screenshot of the problem example (select GL account 808000)

Concatenate problem.png

Tst2.ReportRow is containing the original and correct ReportRow (Omzet TOP), and the concatenated column Tst2.ReportRow is containing the wrong result (Materiële vaste activa).

Can this help you out to find the solution?

Greetings,

Jörgen

Sharing knowledge increases your knowledge
marcus_sommer

After looking more deeply into the matter I could confirm your observation but it isn't really weird else it is caused from the fact that the field ReportRow is a dual-field and the numeric value of both strings is the same - this means it is a data-quality issue from the processes in beforehand:

The listboxes show just:

=num(ReportRow2) & ' - ' & text(ReportRow2)

for the single table and the merged one.

- Marcus

jepeerik
Contributor III
Contributor III
Author

Hi Marcus,

Thanks for your findigs. I'm fooled by the Dual, that's correct.

Greetings,

Jörgen

Sharing knowledge increases your knowledge