Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Activate sheets on button click

Hello,

Is there a way to make all charts\tables\etc that locates on the dashboard to be static until user clicks a button to activate them?

We have a massive amount of data, and it would be preferred if there was no pre-loading on the graphs when you switch tab. So, when you switch a tab, it stays static graph, user makes selections from filters and then clicks a button to activate them.

Any built-in capabilities in QlikView? Or do I have to make some expressions for every chart?

Cheers,

Niko

1 Solution

Accepted Solutions
Clever_Anjos
Employee
Employee

  • Create a variable (vCalc for example) and set it to 0
  • All objects that should not be calculated set "Calculation Condition" (at general tab) = vCalc
  • Your button will have an action Set Variable vCalc = 1

View solution in original post

12 Replies
Clever_Anjos
Employee
Employee

  • Create a variable (vCalc for example) and set it to 0
  • All objects that should not be calculated set "Calculation Condition" (at general tab) = vCalc
  • Your button will have an action Set Variable vCalc = 1
Not applicable
Author

Hello, a good suggestion but it does not show any data when user would click a button again for example.

Preferred would be something to do with the attach and detach functionalities. Detach does not react to any user selections and attach does, I think the solution lies somewhere there. But how could I detach and attach these with a single button?

Cheers,

Niko

Clever_Anjos
Employee
Employee

There´s no action to detach/attach an object, but a macro can do this (be aware of this Macro on AJAX or IE Plugin

Another solution would be (depends what you really want)

  1. Create an alternate state
  2. The button would copy the state from one state to another
Not applicable
Author

You could make use use calculated conditions for each graph object. Thus only once certain list box selections are made, will the object calculate. This can be found on the general tab of the graph object.

Regards,

Pravesh

beck_bakytbek
Master
Master

Hi Niko

do you mean this case, here is my simply example:

beck

santiago_respane
Specialist
Specialist

Hi man,

once i had to do that and my solution was to have an unlinked copy of the fields and when the user is donde selecting presses a button firing a trigger that copies the selection in the linked fields and enables the tab.

In the first tab i had only the selection list boxes for the unlinked fields and the button, the table charts in other tabs.

Although i would also see any way of reducing the massive amount of info, maybe with aggregation of historic or something.

Hope this helps you.

Kind regards,

kamal_sanguri
Specialist
Specialist

Just minimize all the objects which you don't want to get calculated while loading app.. they will only be calculated once you restore them.. so, if you want to use a button to do this.. just set that button to restore those minimize objects..

-Kamal

Anonymous
Not applicable
Author

Hi Cleven Anjos,

Show your objects at start with the minimum possible dimensions, and hide all objects that you don't want to show at start with hidden option.


Kind regards.

cwolf
Creator III
Creator III

Hi,

you can do that with a simple macro:

Sub ActivateCharts

    Charts=Array("CH01","CH02")

    'attach the charts

    for each chart in Charts   

        set chartObj = ActiveDocument.GetSheetObject(chart)

        set prop = chartObj.GetProperties

        prop.Detached = false

        chartObj.SetProperties prop

    next

   

    'wait for calculation

    ActiveDocument.GetApplication.WaitForIdle

   

    'detach the charts

    for each chart in Charts   

        set chartObj = ActiveDocument.GetSheetObject(chart)

        set prop = chartObj.GetProperties

        prop.Detached = true

        chartObj.SetProperties prop

    next

end sub

Regards

Christian