Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Data loss when concatenate

Hello comunity,

Please help with this problem.

I have 2 qvd files I want to concatenate.

QVD1 fileds:

m.png

QVD2 fields:

p.png

to concatenate I use:

final:

load * from qvd1.qvd (qvd);

concatenate

load * from qvd2.qvd (qvd);

store final ...

drop final;


The problem is: when I read the final file the year and month flaged as 'P' are null.


I have a QV Dashboard which calls serveral QVDs, and I use qualify and unqualify.


qualify *;

unqualify year, month, productCode, clientCode;


load * from final.qvd (qvd);

load * from final2.qvd (qvd);

load * from final3.qvd (qvd);

...

load * from final10.qvd (qvd);


Notes:

- QVD1 has almost 14M of rows.

- QVD2 has 4100 rows of rows.


Labels (1)
1 Solution

Accepted Solutions
MindaugasBacius
Partner - Specialist III
Partner - Specialist III

I have made an example that works.

Please check the attachments and the script.

View solution in original post

8 Replies
swuehl
MVP
MVP

If you execute

final:

load * from qvd1.qvd (qvd);

concatenate

load * from qvd2.qvd (qvd);


store final ...


And then check the table, you still see year and month values for flag 'P', right?


If you then


drop final;

and then just reload the final table from QVD:

LOAD * FROM final.qvd (qvd);

You get NULL for year and month when flag = 'P'?

Not applicable
Author

Hello Swuehl,

Yes, everything you said is happening to me.

swuehl
MVP
MVP

Could you maybe upload two small sample QVDs and your script?

qliksus
Specialist II
Specialist II

Could be a difference in the number of columns between QVD1 and QVD2 as you are using Qualify and Unqualify the same column name might get renamed into a different one and thus showing null onconcatenate . Try loading the 2 QVD's without using the concatenate keyword and  Qualify and Unqualify and check the result

MindaugasBacius
Partner - Specialist III
Partner - Specialist III

I have made an example that works.

Please check the attachments and the script.

Not applicable
Author

I was trying to upload a small example (because QVD1 is almost 200MB) using those QVD files, but:

When I create the DB QVW it reads all fields as is, everything looks OK, but in my real DB the 'year' and 'month' fields appears as null when Flag is 'P'. It is a little rare that in one DB (new) works OK, but in my official does not.

I was checking all the field names when concatenate, but all necessary fields have the same name, so they should show in the final's file columns 'year' and 'month'.

I am usign in the Final DB qualify *, and unqualify (some common fields between QVDs) because I read several QVD files. My idea making those unqualified fields KEYS.

Marked line is where I can´t figure out why Año (year) and Mes (month) appear as null when flag is 'P'.

lf.png

I started my Final BD concatenating all of those QVD files, but the DB was very very...slow showing the information.

swuehl
MVP
MVP

This code will not concatenate your tables, are you expecting it to do this?

I must admit I am a little confused with your code and where you are creating your concatenated tables and checking the year field and flag fields.

Not applicable
Author

No, I am not trying to concatenate.