Blog

How to Concatenate Two Tables in QlikView

  • (4.0)

Table combining and concatenation

Concatenate appends the rows of one table to another. Concatenate never merges any rows. The number of rows in a concatenated table is always the sum of the rows of the two input tables. CONCATENATE prefix adds rows to a previously loaded table. The Qlikview script functions JOIN and CONCATENATE can sometimes be used to tackle the same problem, but there are certain differences between them.

In this post, we have emphasized the importance of developing the data model in the star schema format (if possible) and avoiding synthetic tables and circular references. Instead of using link tables, using keytables, and learning some other renaming strategies discussed  in this book, one of the best ways to avoid these issues is to combine tables where it makes sense.

Learn how to use QlikView, from beginner basics to advanced techniques, with online video tutorials taught by industry experts. Enroll for Free QlikView Training Demo!

As a note of clarification, the word concatenate in qlik view-speak describes adding the table’s rows onto another table. A qlik view join, however, is best described as appending a table’s column onto another table. Most of the time, developers will need to tell qlik view explicit when to concatenate and join.

Because qlikview is associative, there are times when the software automatically concatenates data fields from two or more separately loaded tables. This automatic concatenation happens when the number and names of the table column are exactly the same. Qlik view will automatically concatenate one statement with another, as the following statements illustrate:

TOYS:
Load product-name, product-ID,
Category from toys. Csv;
Electronics:
Load product-ID, product-name,
Category from electronics.csv;

Related Page: Regular Statement Or Script Control Statements - QlikView

These two statements are essentially treated as one since both the tables have identical columns (data fields) and number of columns are generally three. All the toy and electronic products are combined into one table-the first listed table. The electronics table will not appear in the data model.

If you want to prevent this automatic concatenation, you must rename fields or use the no concatenate statement. This will prevent the automatic concatenation of the tables even if they have identical names and number of data fields. The following code is an example of the no concatenate statement:

TOYS:
Load product-ID, product-name,
Category from TOYS.csv;
No concatenate load product-ID,
Product-name, category

In most cases, qlik view developers will need to lay out instructions for qlik view to follow concatenation performance. Qlik view calls this forced concatenation, and it is necessary when the tables that have to be combined do not have the same number or names of columns.

Frequently Asked QlikView Interview Questions & Answers

A forced concatenation is done using the concatenate prefix (before load) in the script. This will concatenate the table following the concatenate statement to the table created immediately before this statement. Here’s an example of a forced concatenation:

TOYS:
Load product-ID, product-name,
Category from TOYS.csv;
Concatenate load product-ID,
Category from electronics. Csv;

Because we did not specify the table name to concatenate it to in the concatenate statement (concatenate table name is the best practice), the statement appends the rows from electronics . Csv onto the last table created (TOYS). The resulting internal TOYS table has the product-ID, product-name, and category fields. The number of records in the resulting table is the sum of the number of records in TOYS.csv and electronics.csv. The value of product-name in the records coming from electronics.csv is null.

Explore QlikView Sample Resumes! Download & Edit, Get Noticed by Top Employers!Download Now!

 


Popular Courses in 2018

Get Updates on Tech posts, Interview & Certification questions and training schedules