How edit the content of a data extract in Tableau? - tableau-api

I'm creating an extract from a table hosted on MS SQL Server in Tableau.
After I create the data extract, is there any way I can enable the end users to edit the data extract content? Something like an interface?
Thanks in advance

The Tableau Data Extract API (and publicly released products) do not allow you to modify the contents of an extract.
You can append new data rows to an extract, or refresh (i.e. regenerate) an extract.
Think of extracts like datamarts -- read-only snapshots of a portion of some other data store, designed to allow efficient analysis and reporting. They aren't intended to replace databases.
If you want users to make live updates, consider using a database and some sort of tech stack to allow form based updates.

This is called web-authoring in Tableau.
you can publish the extract to server and allow the users to connect to this data source for creating their own reports
using the server version of Tableau this can also be referred as Adhoc Reporting
More Info

Related

Tableau - Auto Archiving Historic Data

I have a live data source connected to Tableau Desktop. This source overwrites as it is updated. Is there a way to automatically save off monthly data from Tableau? Preferably, save the charts I have built.
There are a few options to consider if you are using Tableau Server:
REST API Export View: If you don't need interactivity, then you can automate exporting the image using the REST API. This is analogous to using the Worksheet -> Export -> Image feature in the front-end. There are other export options such as PDF and CSV. I would recommend using the Python client library over the raw REST API, but both are valid methods to export content.
If you need interactivity, then you will need to use an extract instead of a live data source. With this, you can automate exporting the workbook using the REST API. If you want a live query for normal use, then you can duplicate the workbook, covert the data source to extract, schedule the extract refresh, and download the workbook.
Scheduled Subscription: If you don't want to code, then you can schedule emailing an image of the view and manually save the images as needed. You could setup a dedicated shared resource mailbox and subscribe a user, typically a service account, to the schedule. This would allow you to consolidate all the subscriptions to a dedicated mailbox for future use.
TabCmd: If you are comfortable with tabcmd, you can automate exporting to CSV, Image, and PDF.
If you are only using Tableau Desktop, then the best option may be to convert the data source to an extract, automate refreshing the extract locally with tabcmd, and save a copy of the workbook to a folder while renaming the file to include a YYYY_MM_DD in the name. This will give you a fully functional copy of the workbook.

Is it better to Embed a CSV file or Connect to MongoDB in webapp?

I am building a Shopify App and need access to about 290 records that are in a .csv file. The merchant will use these to look up standard product codes and map an item id to their shopify product.
I am still learning and wanted to know if it was better to store this data in a database like MongoDB and access it from within the webapp or should I load it and use it on the fly through a library or .csv import parser.
Any direction on the best way to solve this would be appreciated.
If the data present on the CSV stay the same it's ok to use it as it is, but if you plan to add new records or modify some of them it will be best to use a database instead.
The best usage of a database is for serving dynamic content (a.k.a content that will be modified often).
You will need to choose based on your case at the moment, if it's static data - static csv file will do, if it's dynamic data - database.

Getting filtered/aggregated data from Tableau Server via REST API from custom page

I have existing Tableu Server workbook with diagrams and own datasources(mysql).
Is it possible to fetch data from Tableau Server via Rest Api, e.g. if I build a custom web dashboard and need only data from Tableau?
I am interested in Tableaus ability to filter/aggregate data, thats what it does for its diagrams, would be great to harvest it from custom Python web page for my custom diagrams (e.g. for D3 or Highcharts).
Is "Extracts API" the right direction for this?
Or the path with "Query View Data" is the solution?
If you want to specify the filter values and get the exact set of data that your diagrams/workbooks are using, go with the Query View Data solution.
If you pull the data from the extract, you will get it exactly as it is out of the extract. This means if you have filters or aggregation done in your visualization (which is processed after the extract), it won't apply to the extracted data.

Publishing and changes in workbook for tableau online

I am working on an internal reporting dashboard project . There are majorly 3 roles/level to internal reporting dashboard like higher management, project management etc.
And the breakdown of information for every role/level is different as compare to other roles.
For internal reporting dashboard we have to create a database ( lets say D - SQL SERVER) whose data will be coming from 3 databases ( Lets say A,B,C) after integrating them.
For now as per my research, we can directly link database D using Tableau Live Connection in Tableau Desktop ( Professional ed) and use it to create a dashboard.
To host that workbook for users, I can use Tableau Online for publishing and to make data visible according to the roles I can use filters to restrict the data.
Now my questions are:
1. Will this workflow will be right ? Am I missing any step or process that I would need to cater.
2. How will the changes reflect in the dashboard once it is published ? Lets say if I have to add any filter/ parameter in the dashboard. Do I need to make the changes on the workbook using Tableau Desktop and automatically changes will be reflected ?
or do I have to host it again on Tableau Online ? Please educate me on this too.
Thanks for assistance I have attached a purposed workflow image too.
Regards,
Manail Pasha
WORKFLOW IMAGE
If your system is not a transactional database, I would avoid a live database connection. I would recommend a data extract that combines data blending techniques to create a data extract a.k.a .tde file.
I would publish a dashboard with user filters that enable row-level security via filters and ensure users could only see certain data.
Here is a diagram that I would follow if I were you.
To add filter/ parameter either you can do it from the desktop and publish it to Tableau online or login to online and add the filter/ parameter from the edit mode and Save it, it will get reflected if you do anyone of the above mentioned method.
If your data is frequently changing, i would recommend to go on with Live Connection, Extract refresh can be done on incremental, but the appropriate fields needs to chosen to do it( you should also consider, how to handle negated entries ). It all up-to you to decide to go on with Extract or Live

Tableau extracts update

I would like to know if there's a way to automatically update my extracts?
I have a live connection with redshift and use tableau desktop and publish some workbooks on tableau online.
I like to share some reports using extracts and tableau reader and I really need a way to update the extracts everyday
if I understand your question correctly, you should be able to refresh your Tableau Data Extracts by setting up "Refresh Schedules" on Tableau Online. Tableau Online supports variety of Data Sources to set up Extracts instead of using Live Connection.
Check this link on setting up refresh schedules.
Hope this helps!
Yes, you can do set refresh schedule that will help you to update your extract automatically without any manual effort but there are some terms & conditions you have to follow:
For this you have to set your dashboards/workbooks/project in "Extract" mode & not in LIVE.
I personally recommend "extracts" instead of LIVE until the person who is looking for this need REAL TIME updates
Also, you need to set this schedule from Admin's ID (Publisher access) which you use to publish your work from Desktop to Online
Note: You only can choose from lot of options already available
enter image description here