See the attached. It uses the following Page # formula:
//change the 10 to whatever # of rows you want to paginate on. //this calc needs a Compute using such that each displayed row increments the index by 1 INT(INDEX()/10)+1
The calculation is set to be discrete (a blue pill), then put it on the Filters Shelf with the right compute using. In Tableau v7.0.3 (or so) and earlier or if you have multiple marks cards at different levels of detail, you'll need to put the pill on the Level of Detail Shelf, set the Compute Using, then Ctrl+Drag a copy onto the Filters shelf. Once the pill is on the Filters Shelf, make it a Slider Quick Filter.
paginating dashboard.twbx.zip 145.1 KB
That is a great idea Jonathan Drummey! Simulates the "page-numbering" well.
I would like to add too that if you want to print the page number on your sheets footer you can use the "page-number" calculated field described in your post in the 'caption' of the sheet and make sure you print the caption in your page-setup ... Now you can print your page numbers on the sheets! Great stuff!
The only problem now though is that we can’t print ALL the pages using this filter as the print-outs will only include the current-page in the view (page selected by the slider-selector quick-filter) and not all pages sequentially based on the “page numbers” calculated field. The only way to print all rows is to print the sheet without filtering the page numbers. Can't find a workaround for this!
The other option you have if you are printing is to print from the Worksheet instead of the Dashboard. This automatically then prints a long list onto multiple pages.
I agree to Andrew Ball, however, you won't be able to print the page numbers in the worksheet if you use the "page-number" technique by Jonathan Drummey and put that page number on a slider quick-filter. That's because you will filter to have 1 page at a time in the pane-view, which will only be printed by the worksheet (you'll have to manually change the "page-number" filter to each page then print it separately if you want page-numbers in the footer/caption).
If you select <all> in the "page-number" quick-filter (i.e. set the filter to all) then you will get the "page-number" printed in the footer as <all> too, which is not useful!
See the attached. It uses a couple of table calcs, one to set the page number on the Pages Shelf, a second one that returns a discrete index that is used to build the rows for display. The Pages Page Number is put on the Caption. A multiple axis crosstab then shows the values, then using the File->Page Setup->show all pages will let us print the whole thing. The layout isn't great because it's a multiple axis crosstab, and that kind of view can be really slow as well, so I don't consider this much of anything but a proof of concept hack.
paginating dashboard v2.twbx 1.5 MB
Hi Jonathan, Siddhartha,
I'm interested in a pagination approach to keep multiple sheets aligned within a dashboard. Because I can't synchronize the scrolling between sheets, I'm hoping for pagination to keep them aligned while the user works through a list of values that is too long to fit onto a single page.
What you've done here is quite nice for pagination. But it works on one sheet sheet at a time.
When I bring multiple paginated sheets together into a dashboard: I'm foiled. The "applies to selected worksheets" setting for the quick filter just isn't available. I imagine this could be because the [Page #] is a table calc, with compute using Table Down on both sheets. Perhaps it's because the two worksheets have different pills in their canvas, or maybe just being a table calc & nothing more is enough. Either way: the "applies to selected worksheets" setting isn't available. And this means that I can't use one quick filter to drive the pagination of two worksheets in a dashboard.
Knowing this is the reason parameters were invented, I've also attempted a parameter approach to filter both sheets for [Page #] == [Parameters].[Page #]. But at the moment this is broken because on some pages one sheet returns 11 rows while the other sheet returns 10. That one is something I'll need to dig further into.
Ideas, thoughts, suggestions ?
The "applies to selected worksheets" aka scoped filters only applies for dimensions and regular aggregates, not table calcs, so the only workaround there would be to do some pre-aggreation of your data.
The Pages Shelf also works with discrete dimensions and regular aggregates, and as far as I can tell table calcs that have the their effective Compute Using on the same dimension(s). If table calcs have their compute using on different dimension(s), then they are different enough that Tableau won't work. So you might be able to use the same [Page #] calc on the Pages Shelf, though it might take some playing around with the dimensions in the view to make it work.
A couple of other workarounds that I'ved used for this problem are:
1) Embed some grouping dimension(s) in the data, where the groups are guaranteed to never return more values than would fit on the dashboard and therefore trigger scroll bars.
2) Use alternative visualizations. For example, instead of showing a row for every physician for a given metric, I might show a circle chart for the metric, with a circle for every physician, and then the user can hover over and click to get more details on a specific physician.
Hi quick question to this. Since on the server we can see only 10 records spread across 4 pages each page at a time. While printing can we print all the 4 pages together
like 4 pages each with 10 records
Hi, I hope somebody sees this.
I am trying to implement this on a dashboard I've creted.
within a sheet or a dashboard with one single sheet, works like a charm, but when a dashboard as to sheets I can't figure out how to apply the same filter to both sheets.
it does not show the option "Apply to worksheets", I assume it is becuase is a calculation.
is there any work around to apply to more than one sheet in a dashboard, with out having the user to click on two filters?