Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Finish selections before recalculation

Hi,

how can I force QV to wait for all my selections to be finished before it starts recalculating?

When there are millions of rows its important to finish all selections to reduce data pullout. Otherwise you'll have to wait for every single selection-click to be executed.

Thank's for any hints.

Ruediger

1 Solution

Accepted Solutions
Not applicable
Author

Some QV-colleagues suggested this solution:

Please introduce a button that sets a variable to 1, the QV-GUI-objects then must have a calculation condition depending on that variable:

  1. Define user-variable vRecalc
  2. Make button named "GO": Sets vRecalc=1 as action, button named "STOP": Sets vRecalc=0 as action.
  3. Introduce calculation condition in QV charts depending on vRecalc

So the user can finish all his selections and finally press GO to start recalculation.

But the user can also do no selections at all and then press GO.

hope that helps. I was happy with this solution

Ruediger

View solution in original post

5 Replies
bradshields
Partner - Creator
Partner - Creator

Would like to know this too! At least in developer it is very slow when you must make multiple selections on a large data set. I think I read it is possible to select whilst still recalculating the last selection when using browser and maybe Ajax.

Not applicable
Author

Some QV-colleagues suggested this solution:

Please introduce a button that sets a variable to 1, the QV-GUI-objects then must have a calculation condition depending on that variable:

  1. Define user-variable vRecalc
  2. Make button named "GO": Sets vRecalc=1 as action, button named "STOP": Sets vRecalc=0 as action.
  3. Introduce calculation condition in QV charts depending on vRecalc

So the user can finish all his selections and finally press GO to start recalculation.

But the user can also do no selections at all and then press GO.

hope that helps. I was happy with this solution

Ruediger

Anonymous
Not applicable
Author

Hi Rudiger. Nice solution

I don't know if you need or want it but you can also combine this in one button.

This is how it works:

Create a button with the following text:

=if(vRecalc=0,'GO','STOP')

Add the action Set Varaible:

Variable : vRecalc
Value : =if(vRecalc=0,1,0)

This creates one button which changes from GO to STOP depending on the vRecalc variable.

I hope you like it 🙂

Not applicable
Author

Another aproach which does not implies any modification on your chart (but has other restrictions) is to build a input box which reference the fields where you want to operate a selection.

Let's say you have a field named fieldA.

Create an input box,

Under the tab General; Create a variable named v_fieldA (Label can be fieldA)

Under the tab Constraints, Select Value List: Predifined Values in Drop-down

Select Predefined Values / Listed Values: =Concat(DISTINCT fieldA,';')

OK

Then Create a button "Select" with Action "Select in Field" (Field: fieldA / Search String: =$(v_Status))

Result is similar to changing the behavior of QV.

Cons: Selection in inputbox only allow single selection.

Dependencies between fields referenced in the inputbox are removed

I will try to post an example later.

Not applicable
Author

Here is an example with 2 fields (Status & Priority)

In the definition of the predefined values for each variable, I add a SetAnalysis {1} in order not to take care of the current selection

=Concat({1} DISTINCT Status,';')

=Concat({1}DISTINCT Priority,';')

Via the SetAnalysis; I tried to 're-set' the dependency between both fields such as

=Concat({1<Status = {'$(v_Status)'}>}DISTINCT Priority,';')

=Concat({1<Priority = {'$(v_Priority)'}>}DISTINCT Status,';')

But it becomes no longer handy because of the both way dependency... Try if you are interested 😉