Publish PingOne-Connected Dashboards in Tableau Server



Use CData JDBC drivers and Tableau Server to visualize live PingOne data.

Tableau Server is a visual analytics platform transforming the way businesses use data to solve problems. When paired with the CData JDBC Driver for PingOne, you get access to live PingOne data within Tableau Server. This article shows how to connect to PingOne in Tableau Desktop, publish a Data Source to Tableau Server, and build a simple chart from that data.

The CData JDBC Driver enables high-speed access to live PingOne data in Tableau Server. Once you install the driver, you simply authenticate with PingOne and you can immediately start building responsive, dynamic visualizations and dashboards. By surfacing PingOne data using native Tableau data types and handling complex filters, aggregations, & other operations automatically, CData JDBC Driver grants seamless access to PingOne data.

Enable Connectivity to PingOne in Tableau Server

Start by installing the CData JDBC Driver on the machine hosting Tableau Server.

If your server is a Linux Machine:

  1. Copy cdata.jdbc.pingone.jar and cdata.tableau.pingone.lic.
  2. Place the copies in the Tableau Server Connectors folder (/opt/tableau/tableau_driver/jdbc).
  3. Restart Tableau Server.

If your server is a Windows Machine:

  1. Copy cdata.jdbc.pingone.jar and cdata.tableau.pingone.lic.
  2. Place the copy in the Tableau Server drivers directory (C:\ Program Files\Tableau\Drivers).
  3. Restart Tableau Server.

Next, install the CData JDBC Driver on the machine running Tableau Desktop. Before starting Tableau on Windows, make sure that you have placed the .jar file in the C:\Program Files\Tableau\Drivers folder. Before starting Tableau on macOS, make sure that you have placed the .jar file in the ~/Library/Tableau/Drivers folder.

Connect to PingOne in Tableau Desktop

Once the driver is installed on the Server machine, we can configure a connection to PingOne in Tableau Desktop and publish a PingOne-based Data Source to Tableau Server.

  1. Open Tableau Desktop.
  2. Click More under Connect -> To a Server.
  3. Select "Other Databases (JDBC)".
  4. Configure the connection to the data. The driver comes with a connection string builder that streamlines creating and managing the content of connection strings. Note that you will need to manually add "jdbc:pingone" to the beginning of the connection string.
  5. Click "Sign In".

To connect to PingOne, configure these properties:

  • Region: The region where the data for your PingOne organization is being hosted.
  • AuthScheme: The type of authentication to use when connecting to PingOne.
  • Either WorkerAppEnvironmentId (required when using the default PingOne domain) or AuthorizationServerURL, configured as described below.

Configuring WorkerAppEnvironmentId

WorkerAppEnvironmentId is the ID of the PingOne environment in which your Worker application resides. This parameter is used only when the environment is using the default PingOne domain (auth.pingone). It is configured after you have created the custom OAuth application you will use to authenticate to PingOne, as described in Creating a Custom OAuth Application in the Help documentation.

First, find the value for this property:

  1. From the home page of your PingOne organization, move to the navigation sidebar and click Environments.
  2. Find the environment in which you have created your custom OAuth/Worker application (usually Administrators), and click Manage Environment. The environment's home page displays.
  3. In the environment's home page navigation sidebar, click Applications.
  4. Find your OAuth or Worker application details in the list.
  5. Copy the value in the Environment ID field. It should look similar to:
    WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'

Now set WorkerAppEnvironmentId to the value of the Environment ID field.

Configuring AuthorizationServerURL

AuthorizationServerURL is the base URL of the PingOne authorization server for the environment where your application is located. This property is only used when you have set up a custom domain for the environment, as described in the PingOne platform API documentation. See Custom Domains.

Authenticating to PingOne with OAuth

PingOne supports both OAuth and OAuthClient authentication. In addition to performing the configuration steps described above, there are two more steps to complete to support OAuth or OAuthCliet authentication:

  • Create and configure a custom OAuth application, as described in Creating a Custom OAuth Application in the Help documentation.
  • To ensure that the driver can access the entities in Data Model, confirm that you have configured the correct roles for the admin user/worker application you will be using, as described in Administrator Roles in the Help documentation.
  • Set the appropriate properties for the authscheme and authflow of your choice, as described in the following subsections.

OAuth (Authorization Code grant)

Set AuthScheme to OAuth.

Desktop Applications

Get and Refresh the OAuth Access Token

After setting the following, you are ready to connect:

  • InitiateOAuth: GETANDREFRESH. To avoid the need to repeat the OAuth exchange and manually setting the OAuthAccessToken each time you connect, use InitiateOAuth.
  • OAuthClientId: The Client ID you obtained when you created your custom OAuth application.
  • OAuthClientSecret: The Client Secret you obtained when you created your custom OAuth application.
  • CallbackURL: The redirect URI you defined when you registered your custom OAuth application. For example: https://localhost:3333

When you connect, the driver opens PingOne's OAuth endpoint in your default browser. Log in and grant permissions to the application. The driver then completes the OAuth process:

  1. The driver obtains an access token from PingOne and uses it to request data.
  2. The OAuth values are saved in the location specified in OAuthSettingsLocation, to be persisted across connections.

The driver refreshes the access token automatically when it expires.

For other OAuth methods, including Web Applications, Headless Machines, or Client Credentials Grant, refer to the Help documentation.

Discover Schemas and Query Data

Once you establish the connection to PingOne data, you can configure which entities to visualize.

  1. Select CData from the Database pull-down menu.
  2. Select PingOne from the Schema pull-down menu.
  3. Drag the tables and views you wish to visualize onto the join area. You can include multiple tables.
  4. Select Update Now or Automatically Update. Update Now lets you preview the first 10,000 rows of the data source (or enter the number of rows you want to see in the Rows text box). Automatically Update auto-loads the changes in the preview area.

Publish Data to Tableau Server

After you configure the data you wish to visualize, you can publish the Data Source to a Tableau Server instance. In Tableau Desktop:

  1. Click Server -> Sign In.
  2. Enter the URL for your Tableau Server.
  3. Authenticate with Tableau Server credentials.
  4. Click Server -> Publish Data Source and select your data source.
  5. Click Publish.
  6. Select the Project, name the Data Source, and optionally add a description.
  7. Click Publish.

This creates a new entry under the server's data source list, from which you an change the data source's permissions, view its history, and perform other management tasks.

Note that workstation connected to the same server will be able to use the same source in Tableau Desktop, even if the driver isn't installed there. Also, workbooks created directly on Tableau Server (via the web interface) can use this source.

Visualize PingOne Data in Tableau Server

With the Data Source published to Tableau Server, you are ready to visualize PingOne data.

  1. Login to your Tableau Server instance.
  2. Connect to the remote source using the Search for Data -> Tableau Server in the Connect sidebar.
  3. Click the published Data Source.
  4. Click New Workbook.
  5. In the workbook, PingOne fields are listed as Dimensions and Measures, depending on the data type. The CData JDBC Driver discovers data types automatically, allowing you to leverage the powerful data processing and visualization features of Tableau.
  6. Drag a field from the Dimensions or Measures area to Rows or Columns. Tableau creates column or row headers.
  7. Select one of the chart types from the Show Me tab. Tableau displays the chart type that you selected.

Using the CData JDBC Driver for PingOne with Tableau Server, you can easily create robust visualizations and reports on PingOne data. Download a free, 30-day trial and get started today.

Ready to get started?

Download a free trial of the PingOne Driver to get started:

 Download Now

Learn more:

PingOne Icon PingOne JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with PingOne.