Visualize Live Cosmos DB Data in the Power BI Service



Use CData Connect Cloud to connect to live Cosmos DB data and create custom reports in the Power BI Service through the On-Premises Gateway.

Power BI transforms your company's data into rich visuals for you to collect and organize so you can focus on what matters to you. When paired with CData Connect Cloud, you get instant access to Cosmos DB data for visualizations, dashboards, and more. This article shows how to build and publish a dataset from Cosmos DB data in Power BI and then create reports on Cosmos DB data in the Power BI service.

CData Connect Cloud provides a pure SQL interface for Cosmos DB, allowing you to easily build reports from live Cosmos DB data in Power BI — with no need to replicate the data. As you build visualizations, Power BI generates SQL queries to gather data. Using optimized data processing out of the box, CData Connect Cloud pushes all supported SQL operations (filters, JOINs, etc) directly to Cosmos DB, leveraging server-side processing to quickly return Cosmos DB data.

NOTE: You can also import Cosmos DB data into Power BI through Connect Cloud (instead of using the on-premise gateway). Read how in the related Knowledge Base article.

Configure Cosmos DB Connectivity for Power BI

Connectivity to Cosmos DB from Power BI is made possible through CData Connect Cloud. To work with Cosmos DB data from Power BI, we start by creating and configuring a Cosmos DB connection.

  1. Log into Connect Cloud, click Connections and click Add Connection
  2. Select "Cosmos DB" from the Add Connection panel
  3. Enter the necessary authentication properties to connect to Cosmos DB.

    To obtain the connection string needed to connect to a Cosmos DB account using the SQL API, log in to the Azure Portal, select Azure Cosmos DB, and select your account. In the Settings section, click Connection String and set the following values:

    • AccountEndpoint: The Cosmos DB account URL from the Keys blade of the Cosmos DB account
    • AccountKey: In the Azure portal, navigate to the Cosmos DB service and select your Azure Cosmos DB account. From the resource menu, go to the Keys page. Find the PRIMARY KEY value and set AccountKey to this value.
  4. Click Create & Test
  5. Navigate to the Permissions tab in the Add Cosmos DB Connection page and update the User-based permissions.

Add a Personal Access Token

If you are connecting from a service, application, platform, or framework that does not support OAuth authentication, you can create a Personal Access Token (PAT) to use for authentication. Best practices would dictate that you create a separate PAT for each service, to maintain granularity of access.

  1. Click on your username at the top right of the Connect Cloud app and click User Profile.
  2. On the User Profile page, scroll down to the Personal Access Tokens section and click Create PAT.
  3. Give your PAT a name and click Create.
  4. The personal access token is only visible at creation, so be sure to copy it and store it securely for future use.

With the connection configured, you are ready to connect to Cosmos DB data from Power BI.

Connecting to Connect Cloud from Power BI

To connect to and visualize live Cosmos DB data in the Power BI service), install the on-premise data gateway, add a data source to the gateway from the Power BI service, and publish a dataset from Power BI Desktop to the service.

Install the On-Premises Data Gateway

The Microsoft on-premise data gateway provides secure data transfer between connected data sources and various cloud-based Microsoft tools and platforms. You can read more about the gateway in the Microsoft documentation.

You can download and install the gateway from the Power BI service:

  1. Log in to PowerBI.com.
  2. Click the Download menu and click Data Gateway.
  3. Follow the instructions for installation, making note of the name of the gateway.

Add Cosmos DB as a Data Source to the Power BI Service

Once you have installed the data gateway, you add Connect Cloud as a data source to the Power BI service:

  1. Log in to PowerBI.com.
  2. Click the Settings menu and click "Manage gateways."
  3. Click "ADD DATA SOURCE" and configure the connection to Connect Cloud:

    • Set Data Source Name to something like ConnectCloudCosmosDB.
    • Choose SQL Server as the Data Source Type.
    • Set Server to tds.cdata.com,14333.
    • Set Database to the name of your Cosmos DB connection (e.g. CosmosDB1).
    • Set Authentication Method to Basic.
    • Set Username to a Connect Cloud user (e.g. [email protected])
    • Set Password to the PAT for the user above.

Publish a Dataset from Power BI Desktop

With the gateway installed and Connect Cloud added as a datasource to the Power BI service, you can publish a dataset from Power BI Desktop to the service.

  1. Open Power BI, click Get Data -> More, then select SQL Server database, and click Connect.
  2. Set the connection properties and click OK.
    • Set Server to tds.cdata.com,14333.
    • Set Database to the name of your Cosmos DB connection (e.g. CosmosDB1).
    • Set Data Connectivity mode to DirectQuery*.
    * DirectQuery enables live query processing and real-time visualizations of Cosmos DB data.
  3. In the authentication wizard, select Database, set the User name and Password properties, and click Connect.
  4. Select the table(s) to visualize in the Navigator dialog.
  5. In the Query Editor, you can customize your dataset by filtering, sorting, and summarizing Cosmos DB columns. Click Edit to open the query editor. Right-click a raw to filter the rows. Right-click a column header to perform options like the following:
    • Change column data types
    • Remove a column
    • Group by columns

    Power BI detects each column's data type from the Cosmos DB metadata reported by Connect Cloud.

    Power BI records your modifications to the query in the Applied Steps section, adjusting the underlying data retrieval query that is executed to the remote Cosmos DB data. When you click Close and Apply, Power BI executes the data Retrieval query.

    Otherwise, click Load to pull the data into Power BI.

  6. Define any relationships between the selected entities on the Relationships tab.
  7. Click Publish (from the Home menu) and select a Workspace.

Build Reports and Dashboards on Cosmos DB Data in the Power BI Service

Now that you have published a dataset to the Power BI service, you can create new reports and dashboards based on the published data:

  1. Log in to PowerBI.com.
  2. Click Workspaces and select a workspace.
  3. Click Create and select Report.
  4. Select the published dataset for the report.
  5. Choose fields and visualizations to add to your report.

Live Access to Cosmos DB Data from Cloud Applications

Now you have a direct connection to live Cosmos DB data from the Power BI service. You can create more data sources and new visualizations, build reports, and more — all without replicating Cosmos DB data.

To get live data access to 100+ SaaS, Big Data, and NoSQL sources directly from your cloud applications, sign up for a free trial of CData Connect Cloud.

Ready to get started?

Learn more about CData Connect Cloud or sign up for free trial access:

Free Trial