Use the CData API Server in Microsoft Power BI



You can use the CData API Server to feed Elasticsearch data to Power BI dashboards. Simply drag and drop Elasticsearch data into data visuals on the Power BI canvas.

The CData API Server enables you to use REST, OData, JSON, or Open APIs to connect to and query Elasticsearch data. The OData standard enables real-time access to the live data, and support for OData is integrated into Power BI. This article details how to import an OData feed of Elasticsearch data into Microsoft Power BI.

About Elasticsearch Data Integration

Accessing and integrating live data from Elasticsearch has never been easier with CData. Customers rely on CData connectivity to:

  • Access both the SQL endpoints and REST endpoints, optimizing connectivity and offering more options when it comes to reading and writing Elasticsearch data.
  • Connect to virtually every Elasticsearch instance starting with v2.2 and Open Source Elasticsearch subscriptions.
  • Always receive a relevance score for the query results without explicitly requiring the SCORE() function, simplifying access from 3rd party tools and easily seeing how the query results rank in text relevance.
  • Search through multiple indices, relying on Elasticsearch to manage and process the query and results instead of the client machine.

Users frequently integrate Elasticsearch data with analytics tools such as Crystal Reports, Power BI, and Excel, and leverage our tools to enable a single, federated access layer to all of their data sources, including Elasticsearch.

For more information on CData's Elasticsearch solutions, check out our Knowledge Base article: CData Elasticsearch Driver Features & Differentiators.


Getting Started


Set Up the API Server

If you have not already done so, download the CData API Server. Once you have installed the API Server, follow the steps below to begin producing secure Elasticsearch OData services:

Connect to Elasticsearch

To work with Elasticsearch data from Microsoft Power BI, we start by creating and configuring a Elasticsearch connection. Follow the steps below to configure the API Server to connect to Elasticsearch data:

  1. First, navigate to the Connections page.
  2. Click Add Connection and then search for and select the Elasticsearch connection.
  3. Enter the necessary authentication properties to connect to Elasticsearch.
  4. After configuring the connection, click Save & Test to confirm a successful connection.

Configure API Server Users

Next, create a user to access your Elasticsearch data through the API Server. You can add and configure users on the Users page. Follow the steps below to configure and create a user:

  1. On the Users page, click Add User to open the Add User dialog.
  2. Next, set the Role, Username, and Privileges properties and then click Add User.
  3. An Authtoken is then generated for the user. You can find the Authtoken and other information for each user on the Users page:

Creating API Endpoints for Elasticsearch

Having created a user, you are ready to create API endpoints for the Elasticsearch tables:

  1. First, navigate to the API page and then click Add Table .
  2. Select the connection you wish to access and click Next.
  3. With the connection selected, create endpoints by selecting each table and then clicking Confirm.

Gather the OData Url

Having configured a connection to Elasticsearch data, created a user, and added resources to the API Server, you now have an easily accessible REST API based on the OData protocol for those resources. From the API page in API Server, you can view and copy the API Endpoints for the API:

Connect to Elasticsearch Data from Power BI Desktop

  1. Open Power BI Desktop and click Get Data -> OData feed.
  2. In the OData feed connection, set the URL property to the OData Endpoint URL previously copied and click OK (e.g. "http://localhost:8080/api.rsc"):
  3. In the next step of the wizard, define the authentication credentials. Select Basic and then enter the credentials for a user authorized to make requests. Specify the User name and enter the user's authtoken in the Password field:
  4. Select the tables that you would like to import into Power BI and click Load

Create Data Visualizations

After pulling the data into Power BI, you can create data visualizations in the Report view. Follow the steps below to create a pie chart:

  1. Select the pie chart icon in the Visualizations pane.
  2. Select a dimension in the Fields pane: for example, Genre Name.
  3. Select a measure in the Fields pane: for example, GenreId.

You can change sort options by clicking the ellipsis (...) button for the chart. Options to select the sort column and change the sort order are displayed.

You can use both highlighting and filtering to focus on data. Filtering removes unfocused data from visualizations; highlighting dims unfocused data. You can highlight fields by clicking them:

You can apply filters at the page level, at the report level, or to a single visualization by dragging fields onto the Filters pane. To filter on the field's value, select one of the values that are displayed in the Filters pane.

Click Refresh to synchronize your report with any changes to the data.

Free Trial & More Information

If you are interested in connecting to your Elasticsearch data (or data from any of our other supported data sources) from Microsoft Power BI, download API Server to begin creating flexible and customizable REST, OData, JSON and Open APIs from any database or data store! As always, our world-class support team is ready to answer any questions you may have.

Ready to get started?

Learn more or sign up for a free trial:

CData API Server