Spracovanie cesty k zdroju údajov
Nástroj M identifikuje zdroj údajov pomocou kombinácie jeho druhov a ciest. Keď sa zdroj údajov vyskytne počas vyhodnocovania dotazu, nástroj M sa snaží nájsť zodpovedajúce poverenia. Ak sa nenájdu žiadne poverenia, nástroj vráti špeciálnu chybu, ktorá má za následok výzvu na zadanie prihlasovacích údajov v doplnku Power Query.
Hodnota Druh pochádza z definície Druh zdroja údajov.
Hodnota Path je odvodená od povinných parametrov funkcie zdroja údajov. Voliteľné parametre nie sú zohľadnené v identifikátore cesty zdroja údajov. Výsledkom je, že všetky funkcie zdroja údajov priradené k typu zdroja údajov musia mať rovnaké parametre. K dispozícii je špeciálne spracovanie funkcií, ktoré majú jeden parameter typu Uri.Type
. Podrobnosti nájdete v článku Funkcie s parametrom Uri.
Príklad uloženia poverení môžete vidieť v dialógovom okne Nastavenia zdroja údajov v aplikácii Power BI Desktop. V tomto dialógovom okne je položka Druh zastúpená ikonou a hodnota Path sa zobrazí ako text.
Poznámka
Ak počas vývoja zmeníte požadované parametre funkcie zdroja údajov, predtým uložené poverenia už nebudú fungovať (pretože hodnoty cesty sa už nebudú zhodovať). Všetky uložené poverenia by ste mali odstrániť vždy, keď zmeníte parametre funkcie zdroja údajov. Ak sa nájdu nekompatibilné poverenia, v režime runtime sa môže zobraziť chyba.
Formát cesty k zdroju údajov
Hodnota Path pre zdroj údajov sa odvodzuje od požadovaných parametrov funkcie zdroja údajov. Požadované parametre možno vylúčiť z cesty pridaním DataSource.Path = false
do metaúdajov funkcie. Ďalšie informácie nájdete v časti Vylúčenie požadovaných parametrov zo zdroja údajov.
Skutočná hodnota reťazca sa predvolene zobrazuje v dialógovom okne Nastavenia zdroja údajov v aplikácii Power BI Desktop a v výzve na zadanie poverení. Ak definícia Druh zdroja údajov obsahuje Label
hodnotu, zobrazí sa hodnota označenia.
Napríklad funkcia zdroja údajov v ukážke HelloWorldWithDocs má nasledujúci podpis:
HelloWorldWithDocs.Contents = (message as text, optional count as number) as table => ...
Funkcia má jeden povinný parameter (message
) typu text
a používa sa na výpočet cesty k zdroju údajov. Voliteľný parameter (count
) sa ignoruje. Cesta by sa zobrazila takto:
Výzva na zadanie poverení
Používateľské rozhranie nastavenia zdroja údajov
Keď je definovaná hodnota Označenie, hodnota cesty zdroja údajov sa nezobrazuje:
Poznámka
Ak vaša funkcia vyžaduje parametre, v súčasnosti odporúčame, aby ste pre váš zdroj údajov nezahrnuli Označenie, pretože používatelia nebudú môcť rozlíšiť rôzne prihlasovacie údaje, ktoré zadali. Dúfame, že to v budúcnosti vylepšíme (t. j. umožníme konektorom údajov zobrazovať svoje vlastné cesty k zdroju údajov).
Vylúčenie požadovaných parametrov z cesty k zdroju údajov
Ak chcete, aby sa parameter funkcie vyžadoval, ale nesmie sa zahrnúť ako súčasť cesty k zdroju údajov, môžete pridať DataSource.Path = false
do metaúdajov dokumentácie k funkcii. Túto vlastnosť je možné pridať k jednému alebo viacerým parametrom funkcie. Toto pole odstráni hodnotu z cesty k zdroju údajov (čo znamená, že sa už neprenesie do vašej TestConnection
funkcie), preto sa má použiť len pre parametre, ktoré nie sú potrebné na identifikáciu zdroja údajov alebo na rozlíšenie prihlasovacích údajov používateľa.
Napríklad konektor v ukážke HelloWorldWithDocs by vyžadoval rôzne poverenia pre rôzne message
hodnoty.
Pridaním DataSource.Path = false
parametra message
sa parameter odstráni z výpočtu cesty zdroja údajov, čím sa konektor efektívne vytvorí ako "singleton". Všetky volania služby sa HelloWorldWithDocs.Contents
považujú za rovnaký zdroj údajov a používateľ prihlasovacie údaje poskytne iba raz.
HelloWorldType = type function (
message as (type text meta [
DataSource.Path = false,
Documentation.FieldCaption = "Message",
Documentation.FieldDescription = "Text to display",
Documentation.SampleValues = {"Hello world", "Hola mundo"}
]),
optional count as (type number meta [
Documentation.FieldCaption = "Count",
Documentation.FieldDescription = "Number of times to repeat the message",
Documentation.AllowedValues = { 1, 2, 3 }
]))
as table meta [
Documentation.Name = "Hello - Name",
Documentation.LongDescription = "Hello - Long Description",
Documentation.Examples = {[
Description = "Returns a table with 'Hello world' repeated 2 times",
Code = "HelloWorldWithDocs.Contents(""Hello world"", 2)",
Result = "#table({""Column1""}, {{""Hello world""}, {""Hello world""}})"
],[
Description = "Another example, new message, new count!",
Code = "HelloWorldWithDocs.Contents(""Goodbye"", 1)",
Result = "#table({""Column1""}, {{""Goodbye""}})"
]}
];
Funkcie s parametrom Uri
Keďže zdroje údajov s identifikátorom založeným na identifikátore Uri sú také bežné, pri práci s cestami zdroja údajov založeným na identifikátore Uri sa v používateľskom rozhraní Power Query nachádza špeciálne spracovanie. Keď sa vyskytne zdroj údajov založený na identifikátore Uri, dialógové okno poverení zobrazí rozbaľovací zoznam, ktorý používateľovi umožňuje vybrať základnú cestu namiesto úplnej cesty (a všetkých ciest, ktoré sú medzi nimi).
Podobne ako pripisovaný typ namiesto primitívneho typu v jazyku M, bude potrebné použiť funkciu Value.ReplaceType, ktorá indikuje, že váš textový parameter sa má považovať za identifikátor Uri.Type
Uri.
shared GithubSample.Contents = Value.ReplaceType(Github.Contents, type function (url as Uri.type) as any);