I do it.
Create a crosstab sheet with the columns and rows you want displayed. Publish just that sheet.
Then you grab the URL of that published sheet. On your user's dashboard, create a hyperlink action on a little button sheet. The URL will be the URL of the published sheet, but you tack on ".CSV" at the end of the sheet name.
You will also add all the parameters and filter values you need to pass to create the selection of data for the CSV file. There are a ton of articles out there about how to pass parameter and filter values on the URL line.
Thanks for your answer.
I understand that we can suffix the URL with ".csv" and also add filters within the URL to get a filtered view. But the input parameters, in the dashboard are provided by the end-user.
Essentially, my dashboard shows some bar charts and has 10 parameters listed as drop-downs on the same dashboard. These drop-downs filter the bar chart visualization based on what end-user selects from these drop-downs (by default, every drop-down is selected at "ALL").
I am looking to provide a link to download this (filtered down) data that the end-user has selected (by his/her own selection of drop-downs) as an excel or pdf.
Can be this be worked out? If yes, it'd be great if you could recommend some solution/leads.
1 of 1 people found this helpful
Absolutely. I do precisely that.
On the user dashboard I have a bunch of parameters. The user sets them. On the dashboard there is a little icon sheet that just displays a single shape. Clicking that sheet executes a URL action. On that sheet I also have a calc on the details shelf. The calc looks like this:
"https://(my server)#/views/(target published workbook name)/AmountExcel.csv" +
"&Period%20to%20View="+[Period to View]+
"&Fiscal%20Month="+str([Fiscal Month]) +
"&Retention%20Category="+[Retention Category] +
(You will just grab the whole URL of the sheet after you publish it. Tableau tacks on "?:iid=1" to the end of the URL for some reason. Remove that. add ".CSV".)
Next I tack on the Parameters. Each of those lines are individual parameters. Notice the "%20" in some of them. My parameters have spaces in the names. A URL line doesn't want you to have spaces in it, so you fill it with %20 which instructs the URL to treat it as a space at the destination.
There are a ton of white papers out there about passing parameters and they all discuss the %20.
The syntax of the first parameter puts a question mark in front of the name. The syntax for subsequent parameters puts an "&" in front. So a typical URL would end up looking like this:
You can likewise pass filter values on the URL. the white papers discuss that too.
I build my URL in a calc, and put that on the sheet that the user will click. Then in the Edit URL Action box I just select the calc from the pull-down and Tableau does the rest. See screen shot.
Thank you for your response.
I implemented your method and it works for me. I am able to download the excel file when a user selects a particular value for the parameters. However, there are two use cases (as below) that aren't working with this method for me.
Use case 1:
When user selects nothing from the parameters, that is, by default "(All)" is selected for every parameter on the dashboard and the user wants to download the entire data. In such case, the URL calculation is just showing "*". (Screenshot attached)
Use case 2:
When user MULTI-selects values for some/all of the parameters from the drop-down list, the URL calculation is just showing "*". (Screenshot attached)
Note: The excel icon is still clickable but nothing happens even when you click on it.
Also, some of my parameters are combined values, like "Client Number & Client Name (Combined)", which has values, for example, "A101, XYZ Inc". So, I am not sure if combined values can be used to generate URLs dynamically?
Do you think there is a work-around for this to build the URL?
Looking forward to your response.
Hi can you please post dummy workbook with filter pssing downloading data from published dashboard please
Rao -- Start a new thread.
But keep in mind that you're asking someone to do a lot of work for you. Most anyone who has a working example of this has something implemented at their company, and proprietary data is a concern for most people.
That is precisely correct!!
This does not appear to be the solution. The twbx provided in the link above does not contain any button or explanation on how the data is downloaded in step 7.
Joe, could you provide a link the white paper you reference?
Go here. Link after link of papers and discussions come up:
Some to look at: