Analyze Bitbucket Data with Power Pivot



This article walks you through the process of using the CData ODBC Driver for Bitbucket from Power Pivot. You will use the Table Import Wizard to load Bitbucket data. You can visually build the import query or use any SQL supported by the driver.

The ODBC protocol is used by a wide variety of Business Intelligence (BI) and reporting tools to get access to different databases. The CData ODBC Driver for Bitbucket brings the same power and ease of use to Bitbucket data. This article uses the driver to import Bitbucket data into Power Pivot.

Connect to Bitbucket as an ODBC Data Source

If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.

For most queries, you must set the Workspace. The only exception to this is the Workspaces table, which does not require this property to be set, as querying it provides a list of workspace slugs that can be used to set Workspace. To query this table, you must set Schema to 'Information' and execute the query SELECT * FROM Workspaces>.

Setting Schema to 'Information' displays general information. To connect to Bitbucket, set these parameters:

  • Schema: To show general information about a workspace, such as its users, repositories, and projects, set this to Information. Otherwise, set this to the schema of the repository or project you are querying. To get a full set of available schemas, query the sys_schemas table.
  • Workspace: Required if you are not querying the Workspaces table. This property is not required for querying the Workspaces table, as that query only returns a list of workspace slugs that can be used to set Workspace.

Authenticating to Bitbucket

Bitbucket supports OAuth authentication only. To enable this authentication from all OAuth flows, you must create a custom OAuth application, and set AuthScheme to OAuth.

Be sure to review the Help documentation for the required connection properties for you specific authentication needs (desktop applications, web applications, and headless machines).

Creating a custom OAuth application

From your Bitbucket account:

  1. Go to Settings (the gear icon) and select Workspace Settings.
  2. In the Apps and Features section, select OAuth Consumers.
  3. Click Add Consumer.
  4. Enter a name and description for your custom application.
  5. Set the callback URL:
    • For desktop applications and headless machines, use http://localhost:33333 or another port number of your choice. The URI you set here becomes the CallbackURL property.
    • For web applications, set the callback URL to a trusted redirect URL. This URL is the web location the user returns to with the token that verifies that your application has been granted access.
  6. If you plan to use client credentials to authenticate, you must select This is a private consumer. In the driver, you must set AuthScheme to client.
  7. Select which permissions to give your OAuth application. These determine what data you can read and write with it.
  8. To save the new custom application, click Save.
  9. After the application has been saved, you can select it to view its settings. The application's Key and Secret are displayed. Record these for future use. You will use the Key to set the OAuthClientId and the Secret to set the OAuthClientSecret.

Connect from Power Pivot

Follow the steps below to connect to the DSN in Power Pivot.

  1. In Excel, click the Power Pivot Window icon on the Power Pivot tab to open Power Pivot.
  2. Launch the Table Import Wizard: Click the Get External Data from Other Data Sources button.
  3. Select the OLEDB/ODBC source option.
  4. Click Build to open the Data Link Properties dialog.
  5. In the Provider tab, select the Microsoft OLEDB Provider for ODBC Drivers option.
  6. In the Connection tab, select the Use Data Source Name option and then select the Bitbucket DSN in the menu.

Select and Filter Tables and Views

Follow the steps below to use the wizard to import Bitbucket tables. As you use the wizard to select, filter, and sort columns of Bitbucket tables, Power Pivot generates the query to be executed.

  1. After selecting the DSN in the Table Import Wizard, select the option to select from a list of tables.

  2. Click Preview & Filter to select specific columns, sort data, and visually build filters. To include or exclude columns, select and clear the option next to the column name.

    To filter based on column values, click the down arrow button next to the column name. In the resulting dialog, select or clear the column values you want to filter. Alternatively, click Number Filters or Text Filters and then select a comparison operator. In the resulting dialog, build the filter criteria.

  3. Return to the Select Tables and Views page of the wizard. You can access filters by clicking the Applied Filters link in the Filter Details column.

Import and Filter with SQL

You can also import with an SQL query. The driver supports the standard SQL, allowing Excel to communicate with Bitbucket APIs.

  1. After selecting the DSN in the Table Import Wizard, select the option to write a query.
  2. In the SQL Statement box, enter the query. Click Validate to check that the syntax of the query is valid. Click Design to preview the results and adjust the query before import.

  3. Finish the wizard to import the data for your chosen query.

Refresh On Demand

Connectivity to Bitbucket APIs enables real-time analysis. To immediately update your workbook with any changes, click Refresh.

Ready to get started?

Download a free trial of the Bitbucket ODBC Driver to get started:

 Download Now

Learn more:

Bitbucket Icon Bitbucket ODBC Driver

The Bitbucket ODBC Driver is a powerful tool that allows you to connect with live data from Bitbucket, directly from any applications that support ODBC connectivity.

Access Bitbucket data like you would a database - read, write, and update Bitbucket 0, etc. through a standard ODBC Driver interface.