Tableau Metadata API: Key Methods & Models Simplified 101

on BI Tool, Data Visualization, Tableau, Tutorials • March 10th, 2022 • Write for Hevo

Visual Analytics is the union of Data Analytics and Visualisations. This problem-solving approach is concerned with effectively facilitating high-level, complex activities such as reasoning and data-driven decision-making by integrating interactive visual representations with underlying analytical processes. Tableau is a Visual Analytics Engine that simplifies the creation of interactive visual analytics in the form of dashboards. These dashboards facilitate the conversion of data into intelligible, interactive visualizations for non-technical analysts and end-users.

In this article, you will gain information about Tableau Metadata API. You will also gain a holistic understanding of Tableau, its key features, Tableau Metadata, Tableau Metadata API, and GraphQL in Tableau Metadata API. Read along to find out in-depth information about Tableau Metadata API.

Table of Contents

What is Tableau?

Tableau Metadata API: Tableau logo
Image Source

Tableau is a modern Data Analytics and Business Intelligence platform. It is an easy-to-use tool, hence, it offers a smooth experience to its users. Some of Its amazing features include real-time analytics, quick responsiveness, and interactive dashboards. 

It also offers simple yet appealing graphics/visualizations that you can use to present your data pictorially. It comes with all the features needed for data extraction, data processing, and generating reports and dashboards. 

It also offers a drag-and-drop functionality that makes it faster than other BI tools. It is also a very scalable tool, which gives it the capability to adapt to both individual and enterprise needs. You can also connect it to multiple data sources without the need to purchase a license. It is mobile compatible and it comes with an online version. 

It can be used by all kinds of users and no specific skill or knowledge is needed to work with the tool. Users from any department in your company can use it for Data Analysis and Data Visualization. 

Key Features of Tableau

Tableau is a powerful tool and is widely used by a lot of industries. To understand Tableau better let’s look at some of its key features:

1) Supports Multiple Data Sources

Since every task is performed on data in Tableau, it allows you to integrate your data from a large variety of data sources like:

  • Microsoft Excel
  • CSV files
  • MS SQL Server
  • Oracle
  • IBM DB2
  • Google BigQuery
  • Windows Azure
  • ODBC/JDBC, etc

You can make use of these integrations to stream your data to Tableau and analyze it seamlessly.

2) Houses a Wide Range of Visualizations

Tableau also provides a large number of simple tools for its users (both for technical and non-technical people) and empowers them to create different types of visualizations using their data. You can use these tools and create simple or complex visualizations using Tableau. Its key visualizations include:

  • Scatter plot
  • Line plot
  • Pie Chart 
  • Bar Chart 
  • Bullet Chart
  • Highlight Tables
  • Gantt Chart
  • Boxplot, etc. 

Tableau’s Map features allow you to visualize your data on a geographical map. It is very useful if your data needs to be categorized region-wise or across various countries to help you analyze the performance of each region.

Tableau Metadata API -Tableau Visualisation
Image Source

3) Allows Data Filtering

With the help of Tableau, you can filter data from a single source or multiple sources. But the only condition that needs to be satisfied for filtering data from multiple Data Sources is that the data must have the same dimensions. Once this is satisfied, Tableau automatically updates the required changes to all your worksheets using the same Data Sources and the same filters that you set previously.

4) Dynamic and Real-time Dashboards

Tableau Metadata API -Tableau dashboards
Image Source

You can build dynamic and interactive Dashboards using Tableau. Building Reports and Dashboards is made very simple by Tableau. You can make them more informative by adding colorful charts and diagrams. Using these real-time Dashboards, you can monitor everything in absolute depth for your organization. Tableau also houses a feature that allows you to share your Dashboards and Reports with other employees in the organization.

5) Powerful Collaboration

Every person can work a lot more efficiently if they understand their data and make informed decisions which are critical to success in any organization. Tableau was initially built to enable collaboration among employees. Using Tableau, all the members in a team can share their work, make follow-up queries with fellow peers, and share visualizations with any employee in the organization, allowing them to gain valuable insights easily.

Tableau gives its users the ability to work and understand the data they need from web editing and authoring to Data Source recommendations. You can easily publish your Dashboard to Tableau Server or Tableau Online within seconds and as a result, everyone in your organization can see your insights, ask various questions, and make the right decisions.

Simplify Tableau ETL with Hevo’s No-code Data Pipeline

A fully managed No-code Data Pipeline platform like Hevo Data helps you integrate and load data from 100+ Data Sources (including 40+ Free Sources) such as Tableau to a Data Warehouse/Destination of your choice in real-time in an effortless manner. Hevo with its minimal learning curve can be set up in just a few minutes allowing the users to load data without having to compromise performance. In addition to the 100+ data sources, Hevo also allows integrating data from non-native sources using Hevo’s in-built Webhooks Connector.

Get Started with Hevo for Free

Its strong integration with umpteenth sources allows users to bring in data of different kinds in a smooth fashion without having to code a single line. 

Check out some of the cool features of Hevo:

  • Completely Automated: The Hevo platform can be set up in just a few minutes and requires minimal maintenance.
  • Connectors: Hevo supports 100+ Integrations to SaaS platforms, Files, Databases, BI tools such as Tableau, and Native REST API & Webhooks Connectors. It supports various destinations including Google BigQuery, Amazon Redshift, Snowflake Data Warehouses; Amazon S3 Data Lakes; Databricks (Connector Live Soon!); and MySQL, SQL Server, TokuDB, DynamoDB, PostgreSQL Databases to name a few.  
  • Real-Time Data Transfer: Hevo provides real-time data migration, so you can have analysis-ready data always.
  • 100% Complete & Accurate Data Transfer: Hevo’s robust infrastructure ensures reliable data transfer with zero data loss.
  • Scalable Infrastructure: Hevo has in-built integrations for 100+ sources (Including 40+ Free Sources) such as Tableau that can help you scale your data infrastructure as required.
  • 24/7 Live Support: The Hevo team is available round the clock to extend exceptional support to you through chat, email, and support calls.
  • Schema Management: Hevo takes away the tedious task of schema management & automatically detects the schema of incoming data and maps it to the destination schema.
  • Live Monitoring: Hevo allows you to monitor the data flow so you can check where your data is at a particular point in time.
Sign up here for a 14-Day Free Trial!

What is Tableau Metadata?

The Tableau Metadata API discovers, tracks, and stores information about Tableau content before surfacing it.

The content can be classified according to its type (e.g., table or workbook). The content can be unique to Tableau (for example, embedded data sources and calculated fields) or it can have external assets that are not unique to Tableau (e.g., database tables and columns). Information can be attached to both content and external assets (e.g., tags and ratings). Both content and external assets can be related to other content and external assets.

Tableau Metadata is made up of the relationships between content and external assets, as well as information about each.

The different types of Tableau Content are as follows:

1) General Tableau Content

Tableau Content is the content that is unique to the Tableau platform. It includes the following:

  • Data sources: Both published & embedded sources Workbooks
  • Sheets: Inclusive of dashboards & stories
  • Fields: calculated, column — as they relate to the data source, group, bin, set, hierarchy, combined, and combined set
  • Filters: Data source
  • Parameters
  • Flows
  • Metrics

2) Tableau Online and Tableau Server specific Content

The following Tableau content can only be managed through Tableau Online or Tableau Server:

  • Sites
  • Projects
  • Users
  • Certifications & certifiers
  • Data quality warnings & messages

3) External assets associated with Tableau Content

The Metadata API considers any information that comes from outside of the Tableau environment to be external assets. External assets include the following:

  • Databases include local files, remote server connections, and web data connectors (WDC)
  • Tables include queries (custom SQL)

Note: Cubes are not supported

What is Tableau Metadata API?

The Tableau Metadata API seeks, discovers, and indexes all content on your Tableau Online or Tableau Server site, including workbooks, data sources, flows, and metrics. Indexing is used to collect information about Tableau content, or metadata, such as schema and lineage. The Tableau Metadata API then identifies all of the databases, files, and tables used by the content on your Tableau Online site or Tableau Server based on the metadata.

Benefits of Tableau Metadata API

The benefits of Tableau Metadata API are as follows:

  • Discover data that is related to the content you’ve published on your Tableau Online or Tableau Server. Find external assets such as tables, databases, and data sources.
  • Keep track of the lineage or relationships that exist between content and external assets such as data sources and workbooks. Determine which workbooks, for example, use a specific published data source.
  • Conduct an impact analysis. You can assess the impact of content changes by using upstream and downstream lineage information. Find all worksheets that rely on a database table column, for example, or identify the authors who should be notified when a data source changes.

What is GraphQL in Tableau Metadata API?

The Tableau Metadata API is both fast and adaptable. When you need specific information about the relationships between content and assets or their structures, you can use the Tableau Metadata API.

The Tableau Metadata API makes use of GraphQL, an API query language that describes how to request and receive only the data that you’re interested in.

GraphQL APIs, like REST APIs, are served over HTTP. Instead of sending requests to multiple endpoints to retrieve the data of interest, you can make a single query to a single endpoint and have it filtered to return only what you ask for. A GraphQL server is linked to a single endpoint.

GraphQL is based on the concept of a graph (queries) and the relationship between the GraphQL schema’s types (objects).

I) Objects & their Roles in GraphQL in Tableau Metadata API

The GraphQL schema used by the Metadata API organizes content and assets on Tableau Online and Tableau Server by grouping them by object and role. These objects and their roles are the foundation of the GraphQL queries in Tableau Metadata API.

1) Parent Object & Role

The Metadata API’s GraphQL schema organizes content and assets on Tableau Online and Tableau Server by object and role. The GraphQL queries in Tableau Metadata API are built on these objects and their roles.

The Parent Objects are as follows:

  • Databases
  • Tables
  • Published data sources
  • Workbooks
  • Metrics
  • Flows
  • Sites
  • Projects
  • Users

2) Child Object & Role

Child Objects, which are a combination of content and assets, cannot be managed independently of their parent object. As a result, child objects are dependent on their parent object.

Some child objects have the ability to own other child objects, refer to other child objects, and in some cases, refer to specific parent objects.

The Child Objects are as follows:

  • Columns
  • Fields
  • Embedded data sources
  • Sheets
  • Parameters
  • Data source filters

3) Parent/Child object relationship

The parent/child object relationship in GraphQL is defined by what the objects can own or contain. In other words, a parent object is one that serves as a container for other (child) objects.

Parent ObjectChild Object that Parent Object can Contain
DatabaseDatabaseTable , Column
PublishedDataSourceField, DataSourceFilter, Parameter, DataQualotyWarning, DataQualityCertification
WorkbookView, EmbeddedDatasource, Field, Parameter

II) Object Types & Inherited Attributes

The GraphQL schema organizes objects by object type and the attributes that it can inherit from the object, similar to the parent/child object role and relationship.

Objects are implemented in the GraphQL schema using “interfaces” to accomplish this. Object types inherit attributes and properties from each interface. This means that object types with the same interface are logically related to one another and share common attributes and properties. Object types can have unique attributes and properties in addition to shared attributes and properties.

For further information on Object Types & Inherited Attributes with detailed examples in GraphQL queries used in Tableau Metadata API, you can visit here.

And any information on any other Objects related to Tableau Content & Assets can be found here.

III) GraphQL Query Syntax

Once you have a better understanding of what GraphQL is, you need to understand what you need to include in your query. 

 As you can see from the sample code below, you need to name the query, specify the object you want to access (such as “tableauUsers”), and specify the associated attributes for that object (such as “username”). Some objects can also be attributes of other objects (for example, user-owned workbooks). In this case, you need to nest the “ownWorkbooks” object attribute in a new pair of curly braces.

query "query-name"{
  <object> (<arguments>){
    <attribute>
    <attribute>{
      <attribute>
    }
  }
}

In the output, the query returns only the data provided in the same format as provided in the query format.

Example of a GraphQL Query 

In order to get information about users in Tableau Server and its workbooks you can use the following query:

query usersAndContent {
  tableauUsers {
    id
    username
    ownedWorkbooks {
      name
      projectName
      createdAt
    }
  }
}

This query returns information about all users on the server, user IDs, usernames, and the workbooks that they own, such as workbooks name, workbook ID, name and project they own, and date of creation.

How to Access the Metadata API using GraphiQL?

If you are new to GraphQL, we recommend starting with GraphiQL, a graphical user interface (GUI) that you can use with Tableau Server or Tableau Online. It’s easy to use, has embedded Metadata API Documentation, and has autocomplete capabilities. You can access GraphiQL from https://<your-tableau-server>/metadata/graphiql. However, you need to authenticate access to the content available/present in your Tableau environment. 

 The image below shows the key components of the user interface:

Metadata API using GraphiQL

What is Tableau Metadata Model?

The Tableau Metadata Model for a specific set of objects is defined by all of the objects, the roles they play, the relationships they have with one another, and their attributes and properties. The metadata model is a snapshot (or graph in GraphQL terms) of how Tableau interprets and relates a set of objects on your Tableau Online or Tableau Server. The metadata model is used by Tableau Metadata API to understand the dependencies and relationships in your data.

To understand how the metadata model used by the Tableau Metadata API works, you can go through the following example scenarios.

Example Metadata Model

Assume you’ve published three workbooks (parent objects) and two data sources (parent objects) to Tableau Online or Tableau Server.

Tableau Metadata API: Project
Image Source

The two published data source objects in this scenario refer to the three workbook objects. Four sheet objects are owned by the workbook objects. These sheet objects refer to two field objects owned by the published data source objects.

The Tableau Metadata Model used by the Tableau Metadata API in this example is as follows:

Tableau Metadata API: Metadata Model
Image Source
  • An ownership relationship is indicated by a solid line with an arrow.
  • A reference relationship is indicated by a dotted line.

1) Example scenario 1: Impact analysis

In an impact analysis scenario, the metadata model can assist you in determining how data may be impacted if a component of the metadata model changes.

In this case, you might be curious about what might happen if the published data source, John County – 1, is removed.

Sheet objects are owned by workbook objects in the metadata model, and sheet objects can refer to field objects. The published data source objects own the field objects in this scenario. Field objects are owned by published data source objects. As a result, if John County – 1 is deleted, the child objects, F1, Hills Library, and Garden Library, are directly affected and their existence is jeopardized due to their reliance on that data source object. The existence of the other child objects, F2, Garden Senior Center, and Cliff Senior Center, is not jeopardized by the deletion of the data source object.

Tableau Metadata API: Scenario 1
Image Source

Because John County – 1 does not own the workbook objects that connect to it, the workbook objects themselves, Sakura District and Maple District can continue to exist in the absence of the published data source object, according to this analysis.

2) Example scenario 2: Lineage analysis

In a Lineage flow analysis scenario, you can examine a specific part of the metadata model to determine where the data is coming from and how the data reacts to or is affected by various parts of the metadata model.

In this case, you might be curious about the origin of a data point from a sheet object, Garden Senior Center, in a workbook object, Maple District.

According to the Tableau Metadata model, attributes are inherited from the parent object. As a result, if you begin with the Garden Senior Center sheet object, you can move to the referring field object, F2, to see if it is owned by a published data source object. In this case, John County – 2 is the data point’s source.

Tableau Metadata API: Scenario 2
Image Source

You can freely include or exclude parts of the Tableau Metadata model during this analysis to better understand the lineage flow for Garden Senior Center. You can, for example, choose to exclude the Garden Library sheet object, despite the fact that it is also owned by the same workbook object, Maple District.

For further information on Tableau Metadata API, you can visit here.

Conclusion

In this article, you have learned about Tableau Metadata API. This article also provided information on Tableau, its key features, Tableau Metadata, Tableau Metadata API, GraphQL in Tableau Metadata API.

Hevo Data, a No-code Data Pipeline provides you with a consistent and reliable solution to manage data transfer between a variety of sources and a wide variety of Desired Destinations with a few clicks.

Visit our Website to Explore Hevo

Hevo Data with its strong integration with 100+ Data Sources (including 40+ Free Sources) such as Tableau allows you to not only export data from your desired data sources & load it to the destination of your choice but also transform & enrich your data to make it analysis-ready. Hevo also allows integrating data from non-native sources using Hevo’s in-built REST API & Webhooks Connector. You can then focus on your key business needs and perform insightful analysis using BI tools. 

Want to give Hevo a try? Sign Up for a 14-day free trial and experience the feature-rich Hevo suite first hand. You may also have a look at the amazing price, which will assist you in selecting the best plan for your requirements.

Share your experience of understanding Tableau Metadata API in the comment section below! We would love to hear your thoughts.

No-code Data Pipeline for Tableau