What is this?
Getting real, useful data out of Tableau Server is difficult-more difficult than it should be. The PostgreSQL repository database that powers Server is a maze of confusing tables and cryptic, often incomplete, data. Using these data sources, the hard work of learning the underlying table structures and assembling a coherent data set that can answer real questions has been done for you. Point these at your Tableau Server repository database, and you can jump right into asking questions!
Setup and Running Samples
Prerequisites
- Using these data sources requires that you have already opened up access to your PostgreSQL repository.
- You must have the appropriate version of Tableau Desktop to open these files, according to the compatibility chart below.
Compatibility
Use this chart to determine what version of each data source you need, based on the version of Tableau Server that you are running. Right-click the appropriate link and select "Save link as" to download the .twb file.
2019.1 - 2020.3 | 2020.4 - 2022.4 | 2023.1+ | |
ts_background_tasks | 02.02 | 03.01 | 04.01 |
ts_content | 02.02 | 03.01 | 04.02 |
ts_data_connections | 02.02 | 03.01 | 04.01 |
ts_events | 02.02 | 03.01 | 04.01 |
ts_users | 02.02 | 03.01 | 04.01 |
ts_web_requests | 02.02 | 03.01 | 04.01 |
Open in Tableau Desktop
-
Open a version of Tableau Desktop compatible with the version you wish to use. You should pick the highest file version possible, while still being lower than your Tableau Server version.
-
Set the Tableau Server parameter for the name of your Tableau Server instance. This is used to build hyperlinks for use in URL actions.
-
Set the Timezone parameter for your local time. This is used to set date time fields with the (local) suffix to your local time (all other times are in UCT).
-
Extract the data, if you wish. Here are recommendations for whether and how each data source should be extracted:
Data Source | Extract | Retention |
---|---|---|
TS Content | Full Extract | All items that currently exist |
TS Events | Incremental Extract (on Event Id field) | 180 days, but configurable using wgserver.audit_history_expiration_days |
TS Background Tasks | Live / Incremental Extract (On Increment Date field) - Add "Is Max Record" = True to Data Source Filter | 30 days, but configurable using purge.jobs.retention_days |
TS Users | Full Extract | All users that currently exist |
TS Web Requests | Incremental Extract (on Id field) | 7 days, but configurable using tsm maintenance cleanup --http-requests-table-retention |
TS Data Connections | Live | All data connections that currently exist |
- If row-level security is required, edit the User Filter calculation as appropriate, and add the field to a data source filter for the value of "true".
Publish to Tableau Server
-
Publish your data source to Tableau Server by right-clicking it in the Data pane, and selecting "Publish to Server".
-
Set the permissions as appropriate. If you intend the data to be seen by admins-only, you will want to restrict permissions. If you've set up row-level security with the idea to share it with your users, you should allow View and Connect rights.
-
Ensure that the Authentication type is set to embedded password.
-
Add a description for the data source.
-
If you've extracted the data, pick a schedule on which it will be refreshed.
-
Click Publish. Now your data about Tableau Server is also hosted on Tableau Server! How meta. Go start asking questions, champ.
Contributions
Submissions are cool! To contribute, first sign our CLA that can be found here. To submit a contribution, please fork the repository then submit a pull request to the submissions
branch. We will run through standard tests, but expect you be mindful of performance impacts or cardinality changes that may be introduced.
Code Style
We have standards, for sure. At some point we'll probably even document them. In the meantime, try to follow some of the conventions used elsewhere in these data sources.
Documentation
Documentation for these data sources exists in the first page of the workbook they are a part of. Fields are documented with comments.
Issues
Feel free to ask questions or let us know of problems you see to one of these three places:
- The Tableau Community site
- Create an Issue here on GitHub
- Join the Tableau Developer program, then ask questions in the Slack workspace