Resourcepad verwerken

De M-engine identificeert een gegevensbron met behulp van een combinatie van kind en pad. Wanneer er een gegevensbron wordt aangetroffen tijdens een query-evaluatie, probeert de M-engine overeenkomende referenties te vinden. Als er geen referenties worden gevonden, retourneert de engine een speciale fout die resulteert in een referentieprompt in Power Query.

De waarde Kind is afkomstig uit de definitie Van [soort] gegevensbron.

De waarde Pad is afgeleid van de vereiste parameters van uw gegevensbronfunctie(s). Optionele parameters worden niet meegenomen in de pad-id van de gegevensbron. Als gevolg hiervan moeten alle gegevensbronfuncties die zijn gekoppeld aan een gegevensbron, dezelfde parameters hebben. Er is speciale verwerking voor functies die één parameter van het type Uri.Type hebben. Zie hieronder voor meer informatie.

U ziet een voorbeeld van hoe referenties worden opgeslagen in het dialoogvenster Instellingen voor gegevensbron in Power BI Desktop. In dit dialoogvenster wordt kind vertegenwoordigd door een pictogram en wordt de waarde Pad weergegeven als tekst.

Dialoogvenster Instellingen voor gegevensbron.

[Opmerking] Als u de vereiste parameters van uw gegevensbronfunctie wijzigt tijdens de ontwikkeling, werken eerder opgeslagen referenties niet meer (omdat de padwaarden niet meer overeenkomen). U moet alle opgeslagen referenties verwijderen wanneer u de functieparameters van uw gegevensbron wijzigt. Als er incompatibele referenties worden gevonden, kan er tijdens runtime een foutmelding worden weergegeven.

Indeling van gegevensbronpad

De waarde Pad voor een gegevensbron wordt afgeleid van de vereiste parameters van de gegevensbronfunctie.

Standaard ziet u de werkelijke tekenreekswaarde in het dialoogvenster Instellingen voor gegevensbron in Power BI Desktop en in de referentieprompt. Als de definitie Voor soort gegevensbron een waarde heeft opgenomen, ziet u in plaats daarvan Label de labelwaarde.

De gegevensbronfunctie in het [voorbeeld HelloWorldWithDocs] heeft bijvoorbeeld de volgende handtekening:

HelloWorldWithDocs.Contents = (message as text, optional count as number) as table => ...

De functie heeft één vereiste parameter ( ) van het type en wordt message text gebruikt om het gegevensbronpad te berekenen. De optionele parameter ( count ) wordt genegeerd. Het pad wordt als volgt weergegeven:

Referentieprompt:

Referentieprompt met pad.

Gebruikersinterface voor instellingen voor gegevensbron:

Gebruikersinterface voor instellingen voor gegevensbron.

Wanneer een Label-waarde is gedefinieerd, wordt de waarde van het gegevensbronpad niet weergegeven:

Instellingen voor gegevensbron met label.

[Opmerking] We raden u momenteel aan geen Label op te nemen voor uw gegevensbron als uw functie vereiste parameters heeft, omdat gebruikers geen onderscheid kunnen maken tussen de verschillende referenties die ze hebben ingevoerd. We hopen dit in de toekomst te verbeteren (dat wil zeggen, zodat gegevensconnectoren hun eigen aangepaste gegevensbronpaden kunnen weergeven).

Functies met een URI-parameter

Omdat gegevensbronnen met een id op basis van URI zo gebruikelijk zijn, is er speciale verwerking in de Power Query-gebruikersinterface bij het verwerken van op URI gebaseerde gegevensbronpaden. Wanneer er een gegevensbron op basis van URI wordt aangetroffen, bevat het referentiedialoogvenster een vervolgkeuzevenster waarin de gebruiker het basispad kan selecteren in plaats van het volledige pad (en alle paden ertussenin).

Het pad instellen waarin referenties van toepassing zijn.

Zoals een toegekend type is in plaats van een primitief type in de M-taal, moet u de functie Uri.Type Value.ReplaceType gebruiken om aan te geven dat uw tekstparameter moet worden behandeld als een URI.

shared GithubSample.Contents = Value.ReplaceType(Github.Contents, type function (url as Uri.type) as any);