Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
`Hi,
I'm working on a frontend for a Database - the current plan is to use the qvd as the DataBase in the background.
That is, of course, not ideal bearing in mind that the volume of data IS going to grow over time. We'll have to keep an eye on the performance as we go along and decide at which point to archive old records anyway.
Now I have the issue that when loading an Excel file - I have just implemented one source where data can come from - with just 93 records for now, the execution_window is complete and I see that all 93 records have been loaded - but the cursor keeps showing that the system is working on something and I have to wait before I can click anywhere.
That makes me a little nervous since I don't know if this phenomenon is going to increase as we get more data - I don't know if it's to do with the data or something else.
It might also be the structure of my script - there are several blocks which are executed based on a variable that the user can set on the GUI - the users will all have the client so they can trigger a reload from the GUI, but only one of those blocks will be executed when they press a specific button. So maybe QlikView has to read and evaluate all those conditions - four or so - but that shouldn't take long, should it? And for testing right now I had an >EXIT SCRIPT< right there, so the other blocks were not even supposed to be considered.
Can anybody help me find out what this is?
Thanks a lot!
Best regards,
DataNibbler
Hi DataNibbler,
As per understanding your talking about the time in the load script after the data fetch statements are done , If that is the case !! Qlikview will initially load all the data and then it starts associating that data after the data load, if their are any ambiguous association it will take much time to in order to associate the data. Please try to drop any temp table if you have used in the script and try to check the reload time.
Regards,
Avinash R
Hi Avinash,
you're right. That's what I mean.
But I have no more temp_tables - only one or two data_islands that I use for completely different purposes.
I always take care to have only the latest table in one "line of evolution" and drop all the ones before, so that can't be it.
Is there anything else I should be aware of?
Thanks!
What is the data size your loading ?? if its less check the ram availability on the system , sometimes this will also consume time . If possible please share the script
can you post a 93 records sample?
Hi,
yes, I will put something together asap that my script will work on and attach it. The data itself is sensitive, so I'll have to make a sample file.
I'll keep you posted.
Okay,
Here attached is a sample file I have put together. This contains only 4 records, but the issue is the same I think. The original has 93. It uses a variable that you have to toggle using the button I have added on the GUI. You'll have to adapt all the paths so it works.
I hope that helps you understand my issue.
Hi,
I am still no further on this. The log doesn't tell me anything - there are some commands after that, and the execution_conditions for all the other blocks of the script have to be evaluated, but acc. to the script, all that is finished in less than a second and the script is finished. It really looks normal - not one second elapses from the end of the LOAD to the finishing of the script.
But the system is still working on something for 5 to 10 seconds. It doesn't seem to be about the data, so I'm not too worried about it, but I'm not sure.
Okay,
it's seemingly not about the data, so it must be about the objects. It's true, I do have a lot of objects in that app.
There are three sheets with entry_masks (for data entry), each having a nr. of objects - but depending on the type (admin, CQ or PO) of the one logging in, only one of those is relevant.
I guess that is the problem - all the objects on all the sheets have to be calculated, but only one sheet is to be displayed.
Can I add a calculation_condition to a sheet like I can do to an object?
I just deleted one entire sheet and on the others, I set all the objects to "always display", so there are no more conditions there - but still:
- Every field that the currently logged-on user has the privilege to edit has an inputbox and, because I could not yet
find a way to make QlikView realize that the variable in an edited field has changed, it also has a checkbox that
the user should check when they have edited a field.
=> Every such checkbox consists of two objects - two textboxes, one displaying only when the resp. variable is -1 and
the other displaying only when the variable is 1.
That may be a reason why it takes so long to be ready - after the data has been loaded. But I don't know any other way.
Maybe any of you can help me:
The requirement is this:
- As soon as one user has finished editing and reloads, the data is again loaded from the qvd - that might be more
current than the data in memory already because another user of this app might have edited something before.
- In every line of that LOAD, that binary variable (from the checkbox) is queried and if it is 1 (the field has been
edited), then the content of that inputbox is loaded instead of the original field_value in the qvd, otherwise the
original field_value is loaded (and immediately after LOADing, it is stored away in a qvd again).
=> If I could query anything else than the checkbox for every field, I would not need those 2 objects.
Thanks a lot!
Best regards,
DataNibbler