De Power Query SDK installeren
Snelstart
Notitie
De stappen voor het inschakelen van extensies zijn gewijzigd in de versie van juni 2017 van Power BI Desktop.
- Installeer de Power Query SDK vanuit Visual Studio Marketplace.
- Maak een nieuw gegevensconnectorproject.
- Definieer uw connectorlogica.
- Bouw het project om een extensiebestand te maken.
- Kopieer het extensiebestand naar [Documents]/Power BI Desktop/Custom Connectors.
- Controleer de optie (Niet aanbevolen) Toestaan dat een extensie wordt geladen zonder validatie of waarschuwing in Power BI Desktop (onder Bestand | Opties en instellingen | Opties | Beveiligingsbeleid | Gegevensextensies).
- Start Power BI Desktop opnieuw.

Distributie van gegevensconnectoren
Power BI Desktop kunnen extensiebestanden downloaden en in een bekende map plaatsen (de stappen hierboven worden beschreven). Power BI Desktop worden de extensies automatisch geladen bij opnieuw opstarten.
Aanvullende koppelingen en resources
- M-bibliotheekfuncties
- Specificatie van M-taal
- Power BI Ontwikkelaarscentrum
- Zelfstudie gegevensconnector
Stap voor stap
Een nieuwe extensie maken in Visual Studio
Als u de Power Query SDK voor Visual Studio maakt u een nieuwe gegevensconnectorprojectsjabloon in Visual Studio.
Hiermee maakt u een nieuw project met de volgende bestanden:
- Definitiebestand van connector ( <connectorName> .pq)
- Een querytestbestand ( <connectorName> .query.pq)
- Een tekenreeksbronbestand (resources.resx)
- PNG-bestanden van verschillende grootten die worden gebruikt om pictogrammen te maken
Het definitiebestand van de connector begint met een lege gegevensbronbeschrijving. Zie de sectie Soort gegevensbron verder in dit document voor meer informatie.
Testen in Visual Studio
De Power Query SDK biedt eenvoudige mogelijkheden voor het uitvoeren van query's, zodat u uw extensie kunt testen zonder over te schakelen naar Power BI Desktop. Zie Querybestand voor meer informatie.
Bouwen en implementeren vanuit Visual Studio
Als u uw project bouwt, wordt uw .pqx-bestand geproduceerd.
Data Connector-projecten bieden geen ondersteuning voor aangepaste stappen na het bouwen om het extensiebestand te kopiëren naar de map [Documents]\Microsoft Power BI Desktop\Custom Connectors. Als u dit wilt doen, kunt u een externe Visual Studio gebruiken, zoals Automatisch implementeren.
Extensiebestanden
Power Query-extensies worden gebundeld in een ZIP-bestand en krijgen de bestandsextensie .mez. Tijdens runtime worden Power BI Desktop uit de [Documents]\Microsoft Power BI Desktop\Custom Connectors geladen.
Notitie
In een toekomstige wijziging wordt de standaardextensie gewijzigd van .mez in .pqx.
Indeling van extensiebestand
Extensies worden gedefinieerd in een M-sectiedocument. Een sectiedocument heeft een iets andere indeling dan de querydocument(s) die zijn gegenereerd in Power Query. Code die u importeert Power Query vereist doorgaans een wijziging om in een sectiedocument te passen, maar de wijzigingen zijn secundair. De verschillen in sectie document die u moet kennen, zijn onder andere:
- Ze beginnen met een sectiedeclaratie (bijvoorbeeld
section HelloWorld;). - Elke expressie eindigt met een punt dubbele punt
a = 1;(bijvoorbeeld ofb = let c = 1 + 2 in c;). - Alle functies en variabelen zijn lokaal in het sectiedocument, tenzij ze zijn gemarkeerd als gedeeld. Gedeelde functies worden zichtbaar voor andere query's/functies en kunnen worden weergegeven als de exports voor uw extensie (dat wil zeggen, ze kunnen worden aanroepen vanuit Power Query).
Meer informatie over M-sectiedocumenten vindt u in de M-taalspecificatie.
Querybestand
Naast het extensiebestand kunnen gegevensconnectorprojecten een querybestand (name.query.pq) hebben. Dit bestand kan worden gebruikt om testquery's uit te voeren binnen Visual Studio. De query-evaluatie bevat automatisch uw extensiecode, zonder dat u uw .pqx-bestand moet registreren, zodat u gedeelde functies in uw extensiecode kunt aanroepen/testen.
Het querybestand kan één expressie bevatten (bijvoorbeeld ), een expressie (zoals wat HelloWorld.Contents() let Power Query genereert) of een sectiedocument.