Create Interactive Metabase Dashboards that Work with JSON Services

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 JSON services and create an interactive dashboard in Metabase from JSON services.

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 JSON services. This article describes how to create a virtual database for JSON and build a simple visualization using JSON services.

CData Connect provides a pure SQL interface for JSON, allowing you to easily integrate with live JSON services 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 JSON, leveraging server-side processing to quickly return JSON services.

Create a Virtual MySQL Database for JSON Services

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 "JSON" from Available Data Sources.
  3. Enter the necessary authentication properties to connect to JSON.

    See the Getting Started chapter in the data provider documentation to authenticate to your data source: The data provider models JSON APIs as bidirectional database tables and JSON 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 JSON 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 JSON 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. "JSON (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. JSON1)
    • Username: A CData Connect username
    • Password: The password for the above CData Connect user
    • Click to Use a secure connection (SSL)

Query JSON Services with Metabase

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

  1. Use the "Write SQL" tool to retrieve the JSON services
  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 JSON services in Metabase. You can continue to work with live JSON services in Metabase just like you would any MySQL database. For more information on creating a virtual MySQL database for JSON (and more than 200 other data sources), visit the Connect Cloud page. Sign up for a free trial and start working with live JSON services in Metabase today.