Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Table box on a button click

Hi all,

I am again here with my small query.I want to populate my table box on a click of a button.

Scenario is like that,on loading I doesnt want to populate table box ie want to show it is as empty first .I have some filters(list boxes) and  a button on the qlikview report.user can select some values from these list boxes and then clicks the button.On clicking button, data sets filters out and then filtered data is shown in the table box.

How I can do it.I think we can use variables,but i am not sure how I restrict that table box doesnt populate on first load.Also how i can write script for button click.

Thanks in advance.

14 Replies
vardhancse
Specialist III
Specialist III

based on button click if we want to display the table box:

     we can create variables and write action on button like make variable value '1'

     layout condition on table box only if variable value is'1'

coming to data filter.

after the data load, select the required filters from the list box.

then click on button

now the table box will display only the data based on filters

Not applicable
Author

Please send the qwd file

rohit214
Creator III
Creator III

Please check in qlikview example in "What New in Qlikview 11.qvw" in report tabs

Thanks

Rohit

vardhancse
Specialist III
Specialist III

Hi Please find the attached QVW file for reference.

Created 2 variables: vReportOn & vReportOff

Button: Action

Table box: Layout condition

List box for giving filters

Please mark as correct, if your requirement was done

israrkhan
Specialist II
Specialist II

its simple,

You can use the 'calculation condition' property of chart.

right click to go properties >> general tab. in the calculation condition

type your condition like, if(GetSelectedCount(Region)>0,1,0)

and when user will select a Region than chart will be shown, other wise it will be empty, and by clicking error message button you can type a custom message to show user.

see the attached file, and images below.

Chart Properties:

i did it for Straight Table, but you can do same for Table Box...

1.png

No Selection, its empty

3.png

After making selection in Region Field..

2.png

Not applicable
Author

Ok thanks for all your reply. i am also thinking of use of straight table chart or pivot table.But I came to know that my dataset would be too large(may be 80-90 lacs records or more than this.) . So I am thinking not to bring the data set in memory first.First just populate my filters(lis boxes),which would be very less data.After selection of list boxes and clicking on button,hit the database and bring the data in memory based on filters selected.Then show this data on straight table. Sql server 2008 is the database which I am using.

I know by doing this I am  violating the basic fetaure of qlikview,which is bring the data set first and then apply filters.

But I have to do it because of large dataset.

can you all please provide ,some soultion for this.

Thanks in advance.

israrkhan
Specialist II
Specialist II

I think you should load all data first, and then use calculated condition to show data in chart.

untill user will not mak selection, the chart will not be calculated, and it will not impact on performance.

and you can ask user to make more selection, like in 10, 12 listboxes, after you can show the chart, once its become less like 4 , 5 hundreds rows.

and in calculation condition you can type multiple conditions, once user make 10, 12 selections, than show it...

......................

and the way you wrote, how you will handle if user change the selection...???

Kind Regards

Khan

Not applicable
Author

Thanks Israr.If the user change the selection ,he/she again has to click on BUTTON to see the changes happens,ie in backend again we have to hit the database.

In loading all the data first,you mean stores data in qvd file and then fetch the data from qvd file to memory to show in chart on clicking on a button?

and storing so big dataset on the deploying server is a good practice?May be I cant get so much space for my report as there many other reports also?

Hitting the database may be not a good way,but I need suggestion which would be better way to handle this situation?

israrkhan
Specialist II
Specialist II

if the chart purpose is just to show a report, than its ok somehow. ..   🙂

but if the purpose is analysis  of data, than in your case,

on each time user changes the seletion , you will hit the data source again(load from source again), and may be it will take 2, 4 minute or more to load data, and user will wait for 2, 4 minutes on each selections to view the chart...?

try these two option, if applicable..

1) if possible, you can load less data, as for 5, 6 month or 1 year data only.. dont load the historical if it is not much needed.

2)  try to do your calculation in script, like grouping of data by year, by month, and by other dimension, so finally you will get less rows in document.

Kind Regards