Microsoft Power BI Integration

Supported by CommCare https://dimagi.atlassian.net/wiki/spaces/commcarepublic/pages/2198503499 functionality, many CommCare users integrate with Microsoft Power BI to meet their data visualization needs. This page details everything that you need to know about using CommCare OData Feeds with Power BI.

Setting Up & Understanding OData Feeds

If you haven’t yet, please check out the https://dimagi.atlassian.net/wiki/spaces/commcarepublic/pages/2198503499 page for how to set up your OData feeds with PowerBI, as well as best practices.

https://dimagi.atlassian.net/wiki/spaces/commcarepublic/pages/2198503499

Visualizing CommCare in Power BI

Below are some resources for your CommCare - Power BI Integration

 

Sub-Pages

Troubleshooting PowerBI Errors

Below is a list of potential errors that you may receive when connecting CommCare to PowerBi

Unable to connect

Plausible root cause: A checkbox question could be causing an issue in your feed. You may need to either de-select the checkbox questions option, or add a delimiter option for the erroring property.

Solution 1

  1. Navigate to the feed that is causing the error on CommCare HQ

  2. Click on Copy & Edit Feed button and uncheck the Expanded Checkbox Questions checkbox

  3. Then use the edited feed in the integration with Power BI

Screenshot 2024-04-24 at 10.47.07 PM.png

Solution 2

  1. Navigate to the OData feed that is causing an error on CommCare HQ

  2. Click on Copy & Edit Feed button

  3. Then change the display field of the question causing the error to contain the word {option} as a delimiter

  4. Then use the edited feed in the integration with Power BI

There was an error processing your data set

Plausible Root cause: If you have a large number of feeds or data, the request may be timing out. You may need to increase the timeout period for the query.

Solution

Source: https://community.powerbi.com/t5/Desktop/How-to-set-command-timeout-option/m-p/920420

  1. Open the Advanced Editor for your query in the Desktop App

  1. Then change the settings as follows in the Implementation box for each feed included in your query:
    let
        Source = OData.Feed("https://www.commcarehq.org/a/[domain]/api/v0.5/odata/cases/[uuid]/feed"", null, [Implementation="2.0", Timeout=#duration(0, 0, 90, 0) ])in
        Source

  2. Then click on Done once finished with making the changes.