Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

QlikView how to reduce loading time with binary .qvw with qualify '*'

Hi guys,

I'd wonder if someone has experience with following topic. To this idea brought me this link:QlikView Addict: QlikView Binary Loads

It would be nice to have a simplified loading scenario, where just new data would be actualized and not all the time everything (we need to reload certain documents 5x a day)

I've created a file with just old data OLD.QVW -> this should be reloaded with

binary OLD.QVW

now new data should be loaded

concatenate (TABLE)

load * from NEWTABLE.QVD (QVD) WHERE NOT EXISTS ([%newtablekey]);

This works, however, my issue is with qualified tables before.

First script is made with qualify '*'; unqualify '%*';

Therefore each table column is called TABLE.ROW

My new rows from NEWTABLE.QVD are concatenated into TABLE, but rows are named as TABLE-1.ROW

My question is how to handle this issue? Please don't tell me, don't use unqualify 🙂

Is there any better way to reduce upload time (from data source, 3-tiered, until production in AccessPoint Server)

As always I've attached an example.

Thank you in advance for your hints.

Regards

Stan

binary qualify.JPG.jpg

12 Replies
Not applicable
Author

Stan

if you do need table T in both qvw i would do one T qualified for doc_1 and one T not qualified for doc_2

Doc_1

Tmp:

LOAD * ....

Qualify *

T:

noconcatenate

LOAD * resident Tmp

Doc_2

Tmp:

LOAD *   from new records

Drop table T;

qualify *

T:

LOAD * resident Tmp

drop talbe Tmp;

You'll get talbe T in doc_1  and in doc_2 with new records

best regards

Chris

Not applicable
Author

Chris,

my approach is a little bit different. I would like to do the best twice binary .qvw (but this is not possible at the moment).

Therefore I've created a script where new data should be appended to old ones. First table Table1 would come from binary.qvw, tmp should new records. Is it possible to change the column names in tmp dynamically without making a copy? This woun't work because there is already a column named Table1.Feld1 ...

Table1 = old data

tmp = new data

qualify *;
Table1:
load * inline

[Feld1, Feld2
1,2
3,4
5,6
7,8]
;

unqualify *;
//concatenate
noConcatenate
tmp:
load * inline
[Feld1, Feld2
25,60
27,80
28,90
29,100
30,110]
;

For f = 1 to NoOfFields('tmp')
   
let vFieldOld = FieldName($(f),'tmp');
   
let vFieldNew = 'Table1.$(vFieldOld)';
   
RENAME FIELD $(vFieldOld) to $(vFieldNew);
Next f

Not applicable
Author

Sorry Stan,

I've no idea for that.

From my point of view, the simpliest is the best.

Good luck

Chris