Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Help me pls.

I just start in QV . Now I have problem about QVD file.

I 'm not sure when i  make qvd file in qvw .

i have to use "  Where Exists(ItemCode,Item_No) " add in after Path (qvd)  .

When i reload file. I don't get the data. \

Why I don't get data?  and  Where Exists(  , ) don't use with QVD or not?

Thank a lot

5 Replies
Anonymous
Not applicable
Author

I think that the where exists() part might not execute when the QVD is loaded in QVD optimized form.

Try adding a text() or num() function around a string field or numeric field in your QVD load to force QV to expand the QVD file on load and this should hopefully trigger your where exists() statement as well.

gershova
Partner - Contributor III
Partner - Contributor III

     According to best practice it would be better to organize your process in two steps. The first step load your table  from qvd (without any conditions). In this case qvd-optimizer  will work and all data will be upload as soon as possible. ON the other step you have to select data according to your condition

When your are using exists function, you should keep in your mind and check that the first field (in your case ItemCode)  has to exist in QV-memory and  Item_No should present  in your current Load function.

Oleg_Troyansky
Partner Ambassador/MVP
Partner Ambassador/MVP

I don't think there should be any problem using "where exists()" with a QVD file. I'd focus on troubleshooting the exists() function itself - look at the two fields, compare their formats etc...

For example, it's common for Item Numbers to have numeric values stored in text fields. Sometimes this field can be loaded as a number in one type of load and as a text in another load. Verify that your fields are comparable.

As a side comment, if your QVD file is large, you actually WANT to keep the load as optimized. To do that, you need to use where exists() with a single field name - that means that both fields need to be called the same.

magavi_framsteg
Partner - Creator III
Partner - Creator III

Oleg:

When using exists() fields do not need to be named the same.

You can always pass a second parameter if you want to compare different fields.

ie:

where exists (fieldX, fieldY)

Kind regards

Magnus Åvitsland

BI Consultant

Framsteg Business Intelligence Corp.

Oleg_Troyansky
Partner Ambassador/MVP
Partner Ambassador/MVP

Magnus,

yes, I'm aware of both syntax forms. The difference is that when you load a QVD and using a single field format, the load remains optimized, and if you are assing the second parameter, the load becomes non-optimized and very slow.

If you ever loaded a large QVD with exists(), you'd notice the difference.

Oleg