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!
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 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 |
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.
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.
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 for these data sources exists in the first page of the workbook they are a part of. Fields are documented with comments.
Feel free to ask questions or let us know of problems you see to one of these three places: