Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Kun123
Contributor
Contributor

What is the correct syntax for QVD Concatenation?

Hello,

 

I have 20 QVD in one folder. When I load them via script they all are shown in one tables because the field names are the same. I want to use concatenate to make all QVDs with separate tables but I don't know the syntax for that. Can anyone show me the correct syntax? Following is the command I am using to fetch all QVD files from one folder. 

 

// Sheet1:
// LOAD
// "Purchase Order",
// "Purch. Doc. Category",
// "Purchasing Doc. Type",
// "EKKO Deletion Indicator",
// Vendor,
// "Purch. Organization",
// "Created On",
// "Document Date",
// "Validity Per. Start",
// "Validity Period End",
// "Release group",
// "Release Strategy",
// "Release indicator",
// "Release status",
// "Subject to release",
// "Purchase Group",
// "Outline Agreement",
// Currency,
// "PO Qty",
// "Stor. Location",
// "Price Unit",
// "Material Group-ESN",
// "PO Item",
// "PO Delete Indicator",
// "Last Changed on",
// Plant,
// "Vendor Material Number",
// "Net Order Price",
// "Planned Deliv. Time",
// "GR Processing Time",
// "MARC Automatic PO",
// "Individual/coll.",
// "Plant-sp.matl status",
// "X-plant matl status",
// "Purchase Req.",
// "Requisn Item",
// "Document Type",
// "Doc. Category",
// "PR Deletion Ind.",
// Control,
// "PO Date",
// "PO Price",
// "Fixed Indicator",
// "Creation Ind.",
// "Purch. Group",
// "Created by",
// "Changed on",
// "Vendor Automatic PO",
// "Purch. block for purchasing organization",
// "Delete flag for purchasing organization",
// "Vendor Name",
// Material,
// "Short Text",
// "Account Assignment",
// "PO Creator"
// FROM [lib://SE_SCM_Cockpit_Folder/Qlik_Sense/Auto PO Push/QVD/*.qvd]
// (qvd);

Labels (1)
2 Solutions

Accepted Solutions
Or
MVP
MVP

Presumably, what you want is actually to *avoid* concatenation?

The basic syntax is

NOCONCATENATE LOAD *

From SomeTable;

However, if the field names are all identical, this will potentially result in a large number of unneeded synthetic keys. As such, you might want to use:

Qualify *;

Unqualify KeyField1, KeyField2;

Table1:

NOCONCATENATE LOAD *

From SomeTable;

Table2:

NOCONCATENATE LOAD *

From SomeTable2;

Table3:

NOCONCATENATE LOAD *

From SomeTable3;

 

View solution in original post

Or
MVP
MVP

Qlik automatically joins tables based on common-name fields, so if you noconcatenate load a bunch of tables with the exact same field names, they'll get joined on every field. Usually, that's not what you want, which means you need to either manually rename the fields, or use Qualify * to automatically append the table name to the field name, e.g.

Table1.Field1

View solution in original post

3 Replies
Or
MVP
MVP

Presumably, what you want is actually to *avoid* concatenation?

The basic syntax is

NOCONCATENATE LOAD *

From SomeTable;

However, if the field names are all identical, this will potentially result in a large number of unneeded synthetic keys. As such, you might want to use:

Qualify *;

Unqualify KeyField1, KeyField2;

Table1:

NOCONCATENATE LOAD *

From SomeTable;

Table2:

NOCONCATENATE LOAD *

From SomeTable2;

Table3:

NOCONCATENATE LOAD *

From SomeTable3;

 

Kun123
Contributor
Contributor
Author

No concatenate is working. It basically gave me all the tables separately. Now I want to perform analytics on each table. I don't get your point for synthetic key, will there be any problem in future while applying analytics on the data. 

 

I assumed that all the tables are different entities now. 

Or
MVP
MVP

Qlik automatically joins tables based on common-name fields, so if you noconcatenate load a bunch of tables with the exact same field names, they'll get joined on every field. Usually, that's not what you want, which means you need to either manually rename the fields, or use Qualify * to automatically append the table name to the field name, e.g.

Table1.Field1