In the previous chapter, we discussed keeping data fresh for our data flow outputs using Tableau Prep Conductor. We are going to explore keeping data extracts created in Tableau Desktop and in the web client up to date using the scheduling service of Tableau Server and Cloud. We will also look at the role Tableau Bridge plays in making on-premises data available on Tableau Cloud.
In this chapter, we’re going to cover the following topics:
For the complete list of requirements that are needed to run the practical examples in this chapter, please see the Technical requirements section in Chapter 1.
In this chapter, we will be using the web client of Tableau Server or Cloud.
We will be using the following file in the exercises in this chapter:
The files used in the exercises in this chapter can be found at https://github.com/PacktPublishing/Data-Modeling-with-Tableau/.
We have discussed how to create extracts from both Tableau Prep Builder and Tableau Desktop and each of their corresponding web clients. We will now look at how to schedule extract refreshes for extracts created in Tableau. We will start by creating a published data source from the web client:
Figure 14.1 – A new published data source
Figure 14.2 – Upload file to create a data model
Figure 14.3 – Data source page of the published data source web client
Figure 14.4 – Create Extract button
Figure 14.5 – Create Extract warning
Figure 14.6 – Publish As button
Figure 14.7 – Publishing to a project
Figure 14.8 – Publish success dialog
Figure 14.9 – Schedule Extract Refresh
Explore the different options and then click Create to create our scheduled refresh:
Figure 14.10 – Create Extract Refresh
Figure 14.11 – Extract Refreshes tab
In this section, we learned how to create extract refresh schedules on Tableau Server or Cloud. Schedules allow us to automate extract refreshes without having to run them manually.
We will look at how consumers of the workbooks created from our published data sources can create subscriptions to let them know when data has been refreshed.
We often want the consumers of workbooks created from our data source to be alerted when the data has been refreshed. We can enable this through subscriptions. We will now look at how to create a subscription, picking up from where we left off in the previous exercise. In order to create a subscription, we first need a workbook using our published data source:
Figure 14.12 – Creating a new workbook
Figure 14.13 – Publishing our workbook
Figure 14.14 – The workbook has been published alert
Figure 14.15 – Workbook page
Figure 14.16 – Creating subscriptions
Figure 14.17 – Subscribe dialog
In this section, we learned how to create subscriptions to notify end users when the published data source in their workbook has been refreshed. This is a key feature that works with extract refreshes to make sure key people are notified when data is refreshed.
We will explore Tableau Bridge to learn how to keep data fresh with on-premises data with Tableau Cloud in the next and final section of this chapter.
When we are using Tableau Server inside our organization, Tableau Server needs to be able to access the data. A few factors need to be considered. If we are using text files, they need to be in a directory accessible from Tableau Server. If we are using data servers, the drivers for the data servers need to be installed on Tableau Server and Tableau Server needs to be able to access the data server over the network or in the cloud.
When we are using Tableau Cloud, access might need an extra step and Tableau Bridge might be required. If we are using Tableau Cloud with public cloud databases, a direct connection for both live connections and extracts is straightforward if the data server is a listed Tableau Cloud connection. Tableau Cloud already has the drivers we need installed.
When we are using data servers or files from inside our organization (on-premises data) with Tableau Cloud, if we want the connection to be live or if we want to use extract refresh schedules, we need to use Tableau Bridge.
Tableau Bridge is a free client that we can download from https://www.tableau.com/support/releases/bridge. Tableau Bridge is only available as a Microsoft Windows application or service. To run it from a Mac, we must run it in a Windows virtual machine.
After installing the Tableau Bridge client, all scheduling works the same as the exercise earlier (see the How to set up and run schedules section) in the chapter. The client can be launched from the Windows system tray. The screenshot in Figure 14.18 shows what the Tableau Bridge UI looks like when connected to a published data source called Sales for Bridge. We can decide whether to run Tableau Bridge as an application or a service. If it is run as an application, the user needs to be logged in to the machine for Tableau Bridge to run. If the computer is logged in to Tableau Cloud, refresh schedules will run and live connections will be available:
Figure 14.18 – Tableau Bridge client user interface
The Tableau Bridge client can also be configured on the Tableau Cloud site by a Site Administrator, including setting up multiple clients to achieve scale with many published data sources.
Creating an exercise to run a Tableau Bridge connection is beyond the scope of this book as it requires connecting a file from your local network to the cloud which could lead to security concerns. We will leave the learnings on Tableau Bridge at this point.
In this chapter, we explored how to set up and run schedules to refresh the data in extracts on Tableau Server and Tableau Online. Schedules are an important part of data modeling in the Tableau platform as they keep our data fresh in an automated fashion, helping us scale.
We also looked at using schedules with subscriptions from within workbooks on Tableau Server and Cloud. Subscriptions are a way for consumers of dashboards to be notified when new data is available.
In the final section of the chapter, we looked at Tableau Bridge. Tableau Bridge is a required component for keeping on-premises data fresh on Tableau Cloud.
The next chapter is the final chapter of our book. It will wrap up all the components we have learned throughout the book by determining which components we need by audience and use case.