tableau / community-tableau-server-insights

Community-built data sources for answering questions about Tableau Server
MIT License
129 stars 52 forks source link

Community Supported

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

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.

<![endif]>

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

  1. 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.

  2. Set the Tableau Server parameter for the name of your Tableau Server instance. This is used to build hyperlinks for use in URL actions.

  3. 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).

  4. 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
  1. 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

  1. Publish your data source to Tableau Server by right-clicking it in the Data pane, and selecting "Publish to Server".

  2. 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.

  3. Ensure that the Authentication type is set to embedded password.

  4. Add a description for the data source.

  5. If you've extracted the data, pick a schedule on which it will be refreshed.

  6. 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:

  1. The Tableau Community site
  2. Create an Issue here on GitHub
  3. Join the Tableau Developer program, then ask questions in the Slack workspace