Create Interactive Metabase Dashboards that Work with XML Data

Ready to get started?

Learn more or sign up for a free trial:

CData Connect



Use CData Connect to create a virtual MySQL database for XML data and create an interactive dashboard in Metabase from XML data.

Metabase is an open source data visualization tool that allows users to create interactive dashboards. When paired with CData Connect Cloud, users can easily create visualizations and dashboards linked to live XML data. This article describes how to create a virtual database for XML and build a simple visualization using XML data.

CData Connect provides a pure SQL interface for XML, allowing you to easily integrate with live XML data in Metabase — without replicating the data. Connect looks exactly like a MySQL database to Metabase and uses optimized data processing out of the box to push all supported SQL operations (filters, JOINs, etc) directly to XML, leveraging server-side processing to quickly return XML data.

Create a Virtual MySQL Database for XML Data

CData Connect Cloud uses a straightforward, point-and-click interface to connect to data sources and generate APIs.

  1. Log into Connect Cloud and click Databases.
  2. Select "XML" from Available Data Sources.
  3. Enter the necessary authentication properties to connect to XML.

    See the Getting Started chapter in the data provider documentation to authenticate to your data source: The data provider models XML APIs as bidirectional database tables and XML files as read-only views (local files, files stored on popular cloud services, and FTP servers). The major authentication schemes are supported, including HTTP Basic, Digest, NTLM, OAuth, and FTP. See the Getting Started chapter in the data provider documentation for authentication guides.

    After setting the URI and providing any authentication values, set DataModel to more closely match the data representation to the structure of your data.

    The DataModel property is the controlling property over how your data is represented into tables and toggles the following basic configurations.

    • Document (default): Model a top-level, document view of your XML data. The data provider returns nested elements as aggregates of data.
    • FlattenedDocuments: Implicitly join nested documents and their parents into a single table.
    • Relational: Return individual, related tables from hierarchical data. The tables contain a primary key and a foreign key that links to the parent document.

    See the Modeling XML Data chapter for more information on configuring the relational representation. You will also find the sample data used in the following examples. The data includes entries for people, the cars they own, and various maintenance services performed on those cars.

  4. Click Test Database.
  5. Click Privileges -> Add and add the new user (or an existing user) with the appropriate permissions.

Connect to CData Connect from Metabase

After creating the virtual database, navigate to your Metabase instance. Use the MySQL interface to connect to CData Connect.

  1. Navigate to the administration screen (Settings -> Admin) and click "Add Database" from the "Databases" tab
  2. Configure the connection to CData Connect and click "Save"
    • Database type: Select "MySQL"
    • Name: Name the connection (e.g. "XML (CData Connect)")
    • Host: The URL of your Connect instance (e.g. https://myinstance.cdatacloud.net)
    • Port: The port of the MySQL endpoint for your Connect instance (e.g. 3306)
    • Database name: The name of the virtual database you just created (e.g. XML1)
    • Username: A CData Connect username
    • Password: The password for the above CData Connect user
    • Click to Use a secure connection (SSL)

Query XML Data with Metabase

Once you configure the connection to CData Connect, you can query XML and build visualizations.

  1. Use the "Write SQL" tool to retrieve the XML data
  2. Write a SQL query based on the virtual database, e.g.

    SELECT [people].[personal.age] AS age, [people].[personal.gender] AS gender, [people].[personal.name.first] AS first_name, [people].[personal.name.last] AS last_name, [vehicles].[model], FROM [people] JOIN [vehicles] ON [people].[_id] = [vehicles].[people_id]
  3. Navigate to the "Visualization" screen, choose a visualization, and configure the visualization

More Information & Free Trial

At this point, you have built a simple visualization from XML data in Metabase. You can continue to work with live XML data in Metabase just like you would any MySQL database. For more information on creating a virtual MySQL database for XML (and more than 200 other data sources), visit the Connect Cloud page. Sign up for a free trial and start working with live XML data in Metabase today.