Qlik Community

QlikView App Development

Discussion Board for collaboration related to QlikView App Development.

Announcements
QlikWorld 2020: Join us May 11 - 14, 2020 in Phoenix, AZ. Register early and save $400. Learn More
larisa_filonova
Contributor III

improving QlikView performance

Hi,

I'd like to improve the performance of my QlikView application.

My idea is as follows:

there are 4 sheets in my application. The formuli (expressions) used on the 1st and the 2nd sheets are the same.

I see that QlikView recalculates the expressions if I switch from sheet1 to sheet2. It takes time.

Is it possible not to recalculate expressions if they have already been calculated?

Thank you in advance,

Larisa

1 Solution

Accepted Solutions
MVP & Luminary
MVP & Luminary

Re: improving QlikView performance

Hi Larisa,

in addition to the other suggestions, you can consider the following:

- store identical formulas (expressions) in variables, and use the same variables everywhere, to ensure that the calculations are not repeated

- check if your application uses any Sheet-level triggers. Are any actions or macros running when you open or leave a sheet? Maybe some selections are made or variables are set in the process, which could cause the expressions to get recalculated.

- it sounds like your application is very heavy. Consider other performance-tuning techniques, such as reviewing your data model for optimal structure, reviewing your expressions for any potential performance issues (IF functions, for example).

I teach a full-size Performance Optimization class at the Masters Summit for QlikView. Check out our agenda and decide if it's right for you.

cheers,

Oleg Troyansky

View solution in original post

12 Replies
oknotsen
Honored Contributor III

Re: improving QlikView performance

If the calculations are exactly the same (same dimensions, same selection, same expressions, same objects), QlikView will reuse those calculations as these are being cached.

Just be sure they are the same.

If you are using the same tables and List Boxes, be sure to use linked objects so you are 100% sure they are indeed the same.

May you live in interesting times!
larisa_filonova
Contributor III

Re: improving QlikView performance

Hi, Onno,

Actually I copied list-boxes from one sheet to the other as objects but not as linked objects.

How is it possible to copy list-boxes as linked objects? Will it improve the performance?

larisa

oknotsen
Honored Contributor III

Re: improving QlikView performance

Hi Larisa,

To make a linked objects, there are a few options:

- After copy manually editing the object ID

- Instead of ctrl-c ctrl-v doing ctrl-c followed by right-mouse-click and selecting "paste object as link"

- ... and a 3rd option that I am not going to bother trying to explain .

I doubt it has much influence (although in theory it should). It will make maintaining objects slightly easier though.

Are you sure QlikView is re-calculating those expressions? It should cach all calculations/objects (until you kill your local client if working locally or until you either kill your server or your server runs out of work-set-low) for re-use (and thus performance gain).

You can check how long QlikView takes to calculate an object by going to your sheet properties right after you made QlikView calculate something and than selecting the Object tab. The "calc time" is the time in milliseconds it took to calculate the individual objects.

Without heavy analysis of your dashboard, I cant really advise you how you specifically can improve performance (and I doubt this platform is the medium for that), but I can give you some general advise:

- Be sure to apply the DAR methodology (see DAR methodology )

- Keep "less is more" in mind. A dashboard is not finished when you can add more, but when you can not remove more without it loosing its functionality

- See if you can move some of the calculations to your script instead of calculating them in your front-end

- Don't use expressions for everything; evaluate if it is really needed

- Don't go overboard with using Set Analysis.

Good luck!

May you live in interesting times!
MVP & Luminary
MVP & Luminary

Re: improving QlikView performance

You might want to use Document Analyzer to get some timings on your objects and see what it actually using up the time.

Qlikview Cookbook: QV Document Analyzer http://qlikviewcookbook.com/recipes/download-info/document-analyzer/

-Rob

MVP & Luminary
MVP & Luminary

Re: improving QlikView performance

Hi Larisa,

in addition to the other suggestions, you can consider the following:

- store identical formulas (expressions) in variables, and use the same variables everywhere, to ensure that the calculations are not repeated

- check if your application uses any Sheet-level triggers. Are any actions or macros running when you open or leave a sheet? Maybe some selections are made or variables are set in the process, which could cause the expressions to get recalculated.

- it sounds like your application is very heavy. Consider other performance-tuning techniques, such as reviewing your data model for optimal structure, reviewing your expressions for any potential performance issues (IF functions, for example).

I teach a full-size Performance Optimization class at the Masters Summit for QlikView. Check out our agenda and decide if it's right for you.

cheers,

Oleg Troyansky

View solution in original post

larisa_filonova
Contributor III

Re: improving QlikView performance

Hi, Onno,

The point is that I can copy and paste charts as linked objects, but I still don't see how I can copy and paste a check-box as a linked object. There is simply no such function in a context menu for check-boxes.

When I try to copy a check-box, I see four options available in Copy to Clipboard: possible values, cell value, image and object. When I try to paste a check-box from Clipboard, there is only one option - paste. I don't see an option - "paste object as link".

Could you clarify how you manage to paste a check-box as a linked object?

Thank you in advance,

Larisa

larisa_filonova
Contributor III

Re: improving QlikView performance

Thanks, Rob!

MVP & Luminary
MVP & Luminary

Re: improving QlikView performance

Hi Larisa,

If I may jump in... I'm just curious about your check box. It doesn't sound like one of the QlikVIew sheet objects. What kind of an object is that? Is it an extension? Maybe you could post an image here, explaining how it looks like and what menu options do you get?

In any case, I doubt if the difference between "cloned" list boxes (or check boxes) and "linked" objects should make a substantial difference in terms of performance. After all, expressions are calculated based on field selections and variable values, not based on individual objects. I'd recommend to focus on optimizing your expressions.

best,

Oleg Troyansky

larisa_filonova
Contributor III

Re: improving QlikView performance

Hi Oleg,

I've learnt what was wrong.

In my QlikView file there's a big text object which serves as a background. It covers the whole screen.

So I when I tried to click on the background with a right button of the mouse and paste as a linked object, I didn't see the corresponding option.

No that've moved the background picture aside, I can paste as a linked object.

Yes, I see that expressions are more important if we are talking about optimization.

thank you

Larisa