4 Replies Latest reply on Jun 13, 2016 9:26 AM by Tom W

    How to Allow website Visitor to Upload Data for a pre-built dashboard?

    Ruben Rosado

      Hello Tableau Community!!!


      I'm trying to build a page in my website where Site Visitors (clients) can upload a specific .csv file (so they click a button and the dialog opens asking to choose a file to upload), and then the Tableau Dashboard that I built will connect to their data and show them visualizations pertaining to that specific data set.


      It's very important that I get this to work beautifully, as I will be using it to provide a specific service to my clients. The clients themselves will be uploading single .csv files multiple times daily. The .csv's will be identical every time, other than number of rows and the data itself.


      How in the world do I approach this? Specifics would be very helpful, since I am new in Tableau. My site is run on bluehost, and I am currently using Tableau Public. The visitors will be logged into my site also.


      Thanks in advance!!


        • 1. Re: How to Allow website Visitor to Upload Data for a pre-built dashboard?
          Brad Clark

          Hi Ruben,

          Happy to help! This is a pretty unique and different use case. I believe Tableau Public may not be the best product for you here. Public is designed to be a sharing platform with the entire Tableau community. You can lock down the underlying data, but the dashboards you publish are not constrained to specific users. Are you comfortable with this? Is this sensitive data?


          If you are comfortable with this, Public runs off of flat files, which is great for csv, but there isn't necessarily a way to upload a csv specific to a dashboard. They would need to send to you to publish up into the viz. I'm guessing you envision this to be a dynamic viz where in 1 dashboard acts as a template for the newly uploaded data(?).  As Tableau Public uses packaged workbooks to publish up to the cloud, each data set will need to be associated to a specific dashboard and published together. Client A's data will be bundled together with the dashboard and published. As soon as you get data from Client B, you will either have to overwrite the existing Client A dashboard OR publish a new Client B one.


          With Tableau Online, you could potentially host a data collection page that houses the source for a published datasource (ie - master csv file), that Online can refresh from, and then publish to a specific client workbook. This would require each client to have their own Tableau Online seat. And to be honest, I'm not sure how you would automate the data collection and updating of the csv file on your site's side.


          In version 10 coming later this year, we're adding the ability to connect to Google Sheets. You could potentially have a user upload to a master Google sheet, then automate the refresh from there directly to Tableau Online. You'd still need a dashboard for each client, which I believe isn't quite what you're looking for.


          All this to say, I'd be curious to know about what you're attempting to do and why.

          • 2. Re: How to Allow website Visitor to Upload Data for a pre-built dashboard?
            Ruben Rosado

            Hi Brad,

            First, thank you for providing such an informative and detailed response.


            I am currently developing tools for the fantasy sports community. There is a site we use that provides their users flat csv files of their performance, but no analytics whatsoever. There is another site that allows users to log in, upload that csv, and it gives then returns barely-informative, basic, ultra-boring, sad, non-Tableau-esque analytics. It does not utilize Tableau.


            I am attempting to build that exact functionality into my existing analytics site. You are correct that I envision this to be dynamic.


            Try it out for yourself at this site with the attached csv:  https://rotogrinders.com/bankroll-tracker


            Thanks again for your response. How do you think I should go about building this?


            Best regards,


            • 3. Re: How to Allow website Visitor to Upload Data for a pre-built dashboard?
              Brad Clark

              Hmmm, there's really no way I know of to make the Dashboard dynamic in that way - but, I can envision you publishing your workbook to Tableau Public, embedding it in your website, then directing others to create their own Tableau Public account, download your dashboard and upload it to their own account, where they can repopulate it with the csv files of their own. Almost like distributing a template.


              From there, depending on how you wanted to market it, you could create a page on your own website displaying all the new published Tableau Public dashboards. Because ultimately the goal would be to drive traffic back to your site.


              I'll be curious to see if any other Tableau wizards can envision a solution. If I understand your ideal scenario correctly (your dashboard embedded on your website, people upload their csv and get their results) - I don't think this is possible.

              • 4. Re: How to Allow website Visitor to Upload Data for a pre-built dashboard?
                Tom W

                Here's my take;


                • Your upload facility needs to push data into a structured data store i.e. a MySQL database
                • Your Tableau viz needs to connect to your database live to display the results of the upload.


                The upload is completely independent of Tableau, you'll need to program that. No such inbuilt feature exists.

                Your viz will need to be hosted on a Tableau Server or Tableau Online and embedded into your webs

                1 of 1 people found this helpful