Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le moteur M identifie une source de données à l’aide d’une combinaison de son type et de son chemin d’accès. Lorsqu’une source de données est rencontrée lors d’une évaluation de requête, le moteur M tente de trouver des informations d’identification correspondantes. Si aucune information d’identification n’est trouvée, le moteur retourne une erreur spéciale qui entraîne une invite d’informations d’identification dans Power Query.
La valeur Type provient de la définition type de la source de données .
La valeur Path est dérivée des paramètres requis de votre fonction de source de données. Les paramètres facultatifs ne sont pas pris en compte dans l’identificateur du chemin d’accès de la source de données. Par conséquent, toutes les fonctions de source de données associées à un type de source de données doivent avoir les mêmes paramètres. Il existe une gestion spéciale pour les fonctions qui ont un seul paramètre de type Uri.Type. Accédez à Functions avec un paramètre Uri pour plus d’informations.
Vous pouvez voir un exemple de la façon dont les informations d’identification sont stockées dans la boîte de dialogue Paramètres de la source de données dans Power BI Desktop. Dans cette boîte de dialogue, le type est représenté par une icône et la valeur Path s’affiche sous forme de texte.
Note
Si vous modifiez les paramètres requis de votre fonction de source de données pendant le développement, les informations d’identification précédemment stockées ne fonctionnent plus (car les valeurs de chemin d’accès ne correspondent plus). Vous devez supprimer toutes les informations d’identification stockées chaque fois que vous modifiez vos paramètres de fonction de source de données. Si des informations d’identification incompatibles sont trouvées, vous pouvez recevoir une erreur lors de l’exécution.
Format du chemin d’accès à la source de données
La valeur Path d’une source de données est dérivée des paramètres requis de la fonction de source de données. Les paramètres requis peuvent être exclus du chemin d’accès en ajoutant DataSource.Path = false aux métadonnées de la fonction. Pour plus d'informations, consultez Exclusion des paramètres requis de votre chemin d'accès à la source de données.
Par défaut, vous pouvez voir la valeur de chaîne réelle dans la boîte de dialogue Paramètres de la source de données dans Power BI Desktop et dans l’invite de saisie des informations d'identification. Si la définition de type de source de données a inclus une valeur Label, la valeur de l'étiquette s’affiche à la place.
Par exemple, la fonction de source de données dans l’exemple HelloWorldWithDocs a la signature suivante :
HelloWorldWithDocs.Contents = (message as text, optional count as number) as table => ...
La fonction a un seul paramètre obligatoire (message) de type textet est utilisée pour calculer le chemin de la source de données. Le paramètre facultatif (count) est ignoré. Le chemin d’accès s’affiche comme suit :
Invite d’informations d’identification
Interface utilisateur des paramètres de source de données
Lorsqu’une valeur d’étiquette est définie, la valeur du chemin d’accès de la source de données n’est pas affichée :
Note
Nous vous recommandons actuellement de ne pas inclure d’étiquette pour votre source de données si votre fonction a des paramètres requis, car les utilisateurs ne pourront pas faire la distinction entre les différentes informations d’identification entrées. Nous espérons améliorer cela à l’avenir (c’est-à-dire permettre aux connecteurs de données d’afficher leurs propres chemins de source de données personnalisés).
Exclusion des paramètres requis de votre chemin d’accès à la source de données
Si vous souhaitez qu’un paramètre de fonction soit obligatoire, mais qu’il ne soit pas inclus dans le cadre de votre chemin d’accès à la source de données, vous pouvez ajouter DataSource.Path = false aux métadonnées de la documentation de la fonction. Cette propriété peut être ajoutée à un ou plusieurs paramètres pour votre fonction. Ce champ supprime la valeur de votre chemin de source de données (ce qui signifie qu’il n’est plus passé à votre TestConnection fonction), de sorte qu’il ne doit être utilisé que pour les paramètres qui ne sont pas nécessaires pour identifier votre source de données ou faire la distinction entre les informations d’identification de l’utilisateur.
Par exemple, le connecteur dans l’exemple HelloWorldWithDocs nécessite des informations d’identification différentes pour différentes message valeurs.
L’ajout DataSource.Path = false au message paramètre le supprime du calcul du chemin de source de données, ce qui rend le connecteur un « singleton ». Tous les appels à HelloWorldWithDocs.Contents sont traités comme étant la même source de données, et l’utilisateur ne fournit ses informations d’identification qu'une seule fois.
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""}})"
]}
];
Fonctions avec un paramètre Uri
Étant donné que les sources de données avec un identificateur basé sur uri sont si courantes, il existe une gestion spéciale dans l’interface utilisateur Power Query lors de la gestion des chemins de source de données basés sur l’URI. Lorsqu’une source de données basée sur l’URI est rencontrée, la boîte de dialogue d’informations d’identification fournit une liste déroulante qui permet à l’utilisateur de sélectionner le chemin de base plutôt que le chemin d’accès complet (et tous les chemins entre-deux).
Comme Uri.Type il s’agit d’un type inscrit plutôt qu’un type primitif dans la langue M, vous devez utiliser la fonction Value.ReplaceType pour indiquer que votre paramètre de texte doit être traité comme un URI.
shared GithubSample.Contents = Value.ReplaceType(Github.Contents, type function (url as Uri.type) as any);