How to avoid the timeout issue when loading data from the Learn365 API to Power BI

Introduction

Power BI helps you to generate reports from data stored in Learn365. To retrieve data from Learn365, you need Power BI Desktop and the API key for your tenant.

When loading data in Power BI Desktop, you may encounter a timeout issue (Error 408) or an issue with Power BI overload. This happens when the server or database needs to process and return large data requests.

In this article, you'll find recommendations on how to avoid these issues.

 

Use a region-based Learn365 API endpoint

In Power BI Desktop, in the OData Feed dialog, use a region-based Learn365 API endpoint in the URL field.

Check the corresponding endpoint with the relevant region in the following table.

 

Region API endpoint
Central US https://us-api.365.systems/odata/v2
North Europe https://ne-api.365.systems/odata/v2
Japan East https://je-api.365.systems/odata/v2
Australia East https://au-api.365.systems/odata/v2
Canada Central https://ca-api.365.systems/odata/v2
United Kingdom South https://uk-api.365.systems/odata/v2
Germany West Central https://de-api.365.systems/odata/v2
U.S. Government GCC https://va-api.usgcc365.systems/odata/v2

 

 

The_URL_field.png

 

Narrow down the request and use the Request URL from the Learn365 API

First, you retrieve data in the Learn365 API then use this data in Power BI Desktop to generate reports. To reduce the amount of data included in the Learn365 API response, narrow down the search request by completing the Select and Filter parameters fields.

After you successfully run the request, copy the URL from the Request URL field in the Responses section. In Power BI Desktop, paste this URL in the URL field in the OData Feed dialog.

For the purpose of the following example case, you need to get a list of all the deleted courses and training plans on the tenant. To achieve this, you can narrow down the request to reduce the data load in both the Learn365 API and Power BI Desktop.

To do this, follow these steps:

1. When authorized on https://api.365.systems, expand the Courses section to work with GET/odata/v2/Courses/IncludeDeleted(). This will return all courses and training plans on the tenant, including those that have been deleted.

2. To narrow down the request:

  • paste IsDeleted eq true in $filter
  • paste Title in $select.

As a result, the response will show only deleted training.

3. Select Execute to run the request.

 

filter_request.png

 

4. When the request was successfully run (with Code 200 in the Responses section):

  • In the Response body, you can track all deleted training on the tenant.
  • The Request URL field contains the URL of the request. You'll use this in the next step.

the_response.png

 

5. Copy the URL from the Request URL field and navigate to Power BI Desktop.

6. In Power BI Desktop, select Get data > OData feed > paste the copied URL in the URL field > OK > Load.

 

paste_the_link.png

 

The request should run quickly because the returned data is filtered.

 

the_final_result.png

 

Load multiple tables in Power BI and merge them into a single table

Instead of loading data from Learn365 with a single request in Power BI Desktop, you can load multiple tables and then merge the returned data into a single table.

To do this, follow these steps:

1. In Power BI Desktop, load multiple tables, as described in this article. For example, you could download Attendance and Courses tables to generate a single report on learners' attendance. 

2. Merge these separately-generated tables into a single table, as described in this article.

 

Was this article helpful?
0 out of 0 found this helpful

Comments

Article is closed for comments.