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

How should you develop Qlikview Applications?

Hello there,

We have bought 5 Named CALs and a copy of Qlikview Server (all version 9.0) and are struggling to get started.

There is a guy here who is tasked with developing the reports and my job, as IT mgr, is to setup the infrastructure for him.

I've set up Qlikview Server and given it ODBC access to the relevant datasources. I've also configured the ODBC datasources on the report writers machine and installed the desktop client on it.

Now, he creates a new document and edits the script to bring in the data. However, our overall dataset is 15Gb+ and his machine runs out of virtual memory as I believe he is doing 'select * from bigtable'

Our FD believes that our setup is wrong and that I should have brought the data into the Qlikview server. He believes that once that is done, the report writer should be able to connect to the server, using the client installed on his machine and generate reports without any memory issues.

My belief is that the report generator creates the document on his machine, using the local datasources and has to carefully craft the required SQL to bring in the data he wants (so that he doesn't run out of memory). Then, once the report is ready, we copy it to the server where it runs, periodically bringing in data from the ODBC datasources for the users to view.

Which is right?

If I am right, how do people develop reports where you may have millions of rows and many 10's of Gb of data?

Kind regards

-- joe.

12 Replies
Not applicable
Author

Stick out tongue - of course we are using an if ... if(MyDate >= today(0), ShowMeThis, ShowMeThat) is typical of what we would do or switch the MyDate to a variable from an input field, calendar etc.

I have not really tried Set Analysis since the first training course as it completely threw me so stuck to what I knew.

johnw
Champion III
Champion III


LeeAlderdice wrote:
Stick out tongue - of course we are using an if ... if(MyDate >= today(0), ShowMeThis, ShowMeThat) is typical of what we would do or switch the MyDate to a variable from an input field, calendar etc.
I have not really tried Set Analysis since the first training course as it completely threw me so stuck to what I knew. <div></div>


OK, depending on exact details, that could be why you're having a performance problem. Let's say you do this:

sum(if(MyDate >= today(0), This, That))

Performance could be a problem, as it has to evaluate the if() for every single row of your data. But I don't think you'd get much out of set analysis for this particular case, as pretty much anything evaluating every row of your data is going to be slow. But let's say you had this instead:

sum(if(MyDate >= today(0), This))

And let's say that 98% of your data was older than today. Now you're processing 100% of the rows through the if to only sum up 2% of the rows, which is very inefficient. Set analysis can "immediately" narrow down to only those 2% of rows without using an if() at all:

sum({<MyDate={">=$(=today(0))"}>} This)

Not applicable
Author

I will give that a go then and see how I get on ... thank you for all your help ...