Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
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;
Sorry Stan,
I've no idea for that.
From my point of view, the simpliest is the best.
Good luck
Chris