Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Joining QVD tables to reduce data

Hi

I am new to QLIK, but have worked my way through the basics.  I have a problem joining QVD tables.

I have produced QVD tables that I want to use across other Apps, but the my current App I don't need all the data from Fact QVD table, I want to use other QVD by a join to only bring back data which is in both tables but also join it by field that I don't want to return in the report.  Is this possible? 

Thanks

Nick

5 Replies
Anonymous
Not applicable
Author

Sure.

Use inner join to get only the data you need.  After that, you can drop the field(s) you don't want.

Edit: adding an example

table:
LOAD
Key,
...
FROM QVD1.qvd (qvd);

INNER JOIN (table) LOAD
Key,
...
FROM QVD2.qvd (qvd);

DROP FIELD Key;

Not applicable
Author

Thanks for your response Michael

The fact file has 6m rows, when I do inner join it still fetches 6m rows first rather 1m rows I would expect with the join, I am guess it doesn't work like SQL.  This causes a memory issue because I am using a basic laptop

Anonymous
Not applicable
Author

I'm sure that it loads all rows of the first table at the beginning.  Maybe (I'm not sure) if you load the smaller table first, the second larger table is not loading all rows.  Worth trying.

Actually 6m rows is not much by itself.  It could be the nature of rows that creates the problem (too many columns, text data, etc.)

Not applicable
Author

It still brings back the same data but the memory issue is no longer an issue.  Unfortunately, it works with 2 tables but when I need to add further to tables it uses the smaller table as the fact table.

I think I will use SQL to do the joins.

Thanks for your help

ramoncova06
Partner - Specialist III
Partner - Specialist III

if you are limited on memory, then doing the join in SQL could be your best alternative, another option is to before you do the join add a where exists condition to reduce the data and then apply a join to the resident table, you will have both tables in memory but the data that is loaded is already reduced.

I do not apply during the joins because I have noticed that QV first does the join and then applies the where clauses