Partager via


Flux OData

Résumé

Élément Descriptif
État de publication Disponibilité générale
Produits Excel
Power BI (modèles sémantiques)
Power BI (flux de données)
Fabric (Dataflow Gen2)
Power Apps (Flux de données)
Dynamics 365 Customer Insights
Services d'analyse
Types d’authentification pris en charge Anonyme
Windows (nécessite la passerelle)
De base (nécessite Gateway)
API Web
Compte d’organisation
Documentation de référence sur les fonctions OData.Feed, ODataOmitValues.Nulls

Remarque

Certaines fonctionnalités peuvent être présentes dans un produit, mais pas d’autres en raison de planifications de déploiement et de fonctionnalités spécifiques à l’hôte.

Fonctionnalités prises en charge

  • Élémentaire
  • Avancé
    • Parties d’URL
    • Ouvrir des colonnes de type
  • Sélectionner des tables associées

Remarque

Microsoft Graph n’est pas pris en charge. Plus d’informations : Manque de prise en charge de Microsoft Graph dans Power Query

Charger des données à partir d’un flux OData dans Power Query Desktop

Pour charger des données à partir d’un flux OData dans Power Query Desktop :

  1. Sélectionnez OData ou Flux OData dans l'interface d'obtention de données. L’expérience d’obtention de données dans Power Query Desktop varie selon les applis. Pour plus d’informations sur l’expérience Power Query Desktop pour obtenir des données avec votre application, accédez à Où obtenir des données.

  2. Choisissez le bouton De base et entrez une adresse URL dans la zone de texte. Cette URL doit être la racine du service OData auquel vous souhaitez vous connecter. Par exemple, saisissez https://services.odata.org/V4/northwind/northwind.svc/. Ensuite, sélectionnez OK.

    Capture d’écran de la boîte de dialogue connexion de flux OData avec l’exemple d’URL OData entré.

    Si l’adresse URL que vous entrez n’est pas valide, une icône d’avertissement apparaît en regard de la zone de texte URL .

  3. Si vous vous connectez à l’aide du flux OData pour la première fois, sélectionnez le type d’authentification, entrez vos informations d’identification (si nécessaire) et sélectionnez le niveau auquel appliquer les paramètres d’authentification. Sélectionnez ensuite Se connecter.

    Capture d’écran de la boîte de dialogue d’authentification dans laquelle vous entrez vos informations d’identification OData.

  4. Dans la boîte de dialogue Navigateur , vous pouvez sélectionner une table, puis transformer les données dans l’éditeur Power Query en sélectionnant Transformer des données ou en chargeant les données en sélectionnant Charger.

    Capture d’écran du navigateur avec la liste alphabétique des produits sélectionnés.

    Si vous avez plusieurs tables ayant une relation directe avec une ou plusieurs des tables déjà sélectionnées, vous pouvez sélectionner le bouton Sélectionner les tables associées . Lorsque vous le faites, toutes les tables qui ont une relation directe avec une ou plusieurs des tables déjà sélectionnées sont également importées.

Charger des données à partir d’un flux OData dans Power Query Online

Pour charger des données à partir d’un flux OData dans Power Query Online :

  1. Sélectionnez le choix OData ou Flux OData dans l’expérience de récupération des données. Chaque appli a sa propre façon d’accéder à l’expérience d’obtention de données de Power Query Online. Pour plus d’informations sur la manière d’accéder à la fonctionnalité de récupération de données dans Power Query Online à partir de votre application, accédez à Où obtenir des données.

    Capture d’écran de la fenêtre Obtenir des données avec OData surligné.

  2. Dans la boîte de dialogue OData qui s’affiche, entrez une URL dans la zone de texte.

    Capture d’écran de la page de connexion en ligne OData.

  3. Si vous vous connectez à l’aide du flux OData pour la première fois, sélectionnez le type d’authentification et entrez vos informations d’identification (si nécessaire). Ensuite, sélectionnez Suivant.

  4. Dans la boîte de dialogue Navigateur , vous pouvez sélectionner une table, puis transformer les données dans l’éditeur Power Query en sélectionnant Transformer des données.

    Capture d’écran du navigateur en ligne avec la liste alphabétique des produits sélectionnés et affichés.

    Si vous avez plusieurs tables ayant une relation directe avec une ou plusieurs des tables déjà sélectionnées, vous pouvez sélectionner le bouton Sélectionner les tables associées . Lorsque vous le faites, toutes les tables qui ont une relation directe avec une ou plusieurs des tables déjà sélectionnées sont également importées.

Connexion à Microsoft Graph

La connexion aux API REST Microsoft Graph à partir de Power Query n'est ni prise en charge ni recommandée. Pour plus d’informations, accédez à Manque de prise en charge de Microsoft Graph dans Power Query.

Problèmes connus et limitations

Connexions fermées lors de la connexion avec des sources OData / Web

En raison de l’architecture d’OData et d’autres connecteurs web, les jointures peuvent être lentes. Une jointure lente peut parfois entraîner l’échec de la connexion par la source, ce qui entraîne une erreur telle que « Une connexion existante a été fermée de force par l’hôte distant ». Bien que vous ayez la possibilité d’utiliser des colonnes de navigation lors de la fusion entre des tables à partir d’une source OData, vous n’avez pas cette option lors de la fusion avec des sources non-OData. Si vous rencontrez de tels problèmes lors de la fusion d’une source OData ou Web et que vous ne parvenez pas à utiliser une colonne de navigation à la place, vous devez appliquer Table.Buffer à votre requête dans l’éditeur avancé avant de fusionner les données.

Nous vous recommandons de mettre en mémoire tampon la plus petite des requêtes fusionnées pour optimiser les performances. Vous pouvez également essayer de changer l’ordre des requêtes dans la jointure pour optimiser la requête.

Tester les problèmes de connexion

Dans les cas où vous transmettez une URL au connecteur OData qui n’est pas seulement la racine du service (par exemple, si vous avez un filtre sur l’URL), lorsque vous configurez l’actualisation dans le service, vous devez sélectionner Ignorer la connexion de test.

Lorsque vous entrez des informations d’identification pour un service OData dans le service Power BI (par exemple, après avoir publié un PBIX qui utilise OData.Feed), le service Power BI teste les informations d’identification, mais ignore toutes les options de requête spécifiées dans la requête M. Ces options de requête peuvent avoir été spécifiées directement dans la formule (par exemple, à l’aide de la barre de formule ou de l’éditeur avancé), ou ont pu être ajoutées par l’éditeur Power Query par défaut. Vous trouverez la liste complète de ces options de requête dans OData.Feed.

Authentification auprès de services arbitraires

Certains services permettent au connecteur OData de s'authentifier directement avec l'authentification OAuth/Microsoft Entra ID. Toutefois, cette capacité ne fonctionne pas dans la plupart des cas.

Lors de la tentative d’authentification, si l’erreur suivante se produit :

We were unable to connect because this credential type isn’t supported for this resource. Please choose another credential type.

Capture d’écran de l’erreur de connexion à un point de terminaison qui ne prend pas en charge OAuth avec le connecteur web.

Contactez le propriétaire du service. Ils doivent modifier la configuration d’authentification ou créer un connecteur personnalisé.

Longueur maximale d’URL

Si vous utilisez le connecteur de flux OData pour vous connecter à une liste SharePoint, une liste SharePoint online ou Project Online, la longueur maximale de l’URL de ces connexions est d’environ 2 100 caractères. Le dépassement de la limite de caractères entraîne une erreur 401. Cette longueur d’URL maximale est générée dans le serveur frontal SharePoint et ne peut pas être modifiée.

Pour contourner cette limitation, commencez par le point de terminaison OData racine, puis naviguez et filtrez à l’intérieur de Power Query. Power Query filtre cette URL localement lorsque l’URL est trop longue pour que SharePoint gère. Par exemple, commencez par :

OData.Feed("https://contoso.sharepoint.com/teams/sales/_api/ProjectData")

Au lieu de

OData.Feed("https://contoso.sharepoint.com/teams/sales/_api/ProjectData/Projects?select=_x0031_MetricName...etc...")