This multi-part tutorial covers the creation of a new data source extension for Power Query. The tutorial is meant to be done sequentially - each lesson builds on the connector created in previous lessons, incrementally adding new capabilities to your connector.
This tutorial uses a public OData service (TripPin) as a reference source. Although this lesson requires the use of the M engine's OData functions, subsequent lessons will use Web.Contents, making it applicable to (most) REST APIs.
The following applications will be used throughout this tutorial:
- Power BI Desktop, May 2017 release or later
- Power Query SDK for Visual Studio
- Fiddler - Optional, but recommended for viewing and debugging requests to your REST service
Reviewing the M Extensibility documentation before starting this tutorial is highly recommended.
|1||OData||Create a simple Data Connector over an OData service|
|2||Rest||Connect to a REST API that returns a JSON response|
|3||Nav Tables||Providing a navigation experience for your source|
|4||Data Source Paths||How credentials are identified for your data source|
|5||Paging||Read with a paged response from a web service|
|6||Enforcing Schema||Enforce table structure and column data types|
|7||Advanced Schema||Dynamically enforce table structure using M types and external metadata|
|8||Diagnostics||Add detailed tracing to the connector|
|9||Test Connection||Implement a TestConnection handler to enable refresh through the gateway|
|10||Query Folding (part 1)||Implement basic query folding handlers|