[Unable to combine data] sur requête API rest

  • [Unable to combine data] sur requête API rest

    Posted by DSC Communities on August 31, 2022 at 2:46 pm

    [Unable to combine data] sur requête API restJump to Best AnswerFollow
    Denis Humeau
    Denis HumeauAug 31, 2022 07:45 AM
    Bonjour à la communauté, je vous expose un problème qui m’a pas mal occupé ces derniers temps et pour …
    1. [Unable to combine data] sur requête API rest

    Denis Humeau
    Posted Aug 31, 2022 07:45 AM
    Bonjour à la communauté,

    je vous expose un problème qui m’a pas mal occupé ces derniers temps et pour lequel je n’ai pas trouvé de solution.

    Dans PowerBI Desktop je récupère des données projet qui sont des bugs ou des taches de développement issus de Bugzilla.
    Pour des raisons purement IT et sécurité, je n’ai pas le droit de faire des requêtes SQL sur la base. Je dois donc procéder autrement, c’est à dire par API rest.

    J’utilise pour cela une connexion anonyme, dans ma requête j’inclus une api_key de Bugzilla qui permet de ne pas m’authentifier via PowerBi

    J’ai une première requête dans laquelle je récupère une liste de tickets et des infos associées. Pas de problème.

    J’ai besoin de récupérer pour un sous-ensemble de tickets leur historique (date de création, transition entre les états) afin de créer un burndown chart projet. Ce qui fonctionne également.
    Dans l’implémentation cela signifie que je référence ma table initiale de tickets, je filtre les tickets pour lesquels je veux récupérer l’historique, et je crée une colonne personnalisée dans laquelle j’appelle une seconde requête API rest sous la forme suivante:

    Json.Document(Web.Contents(<myBugzillaURL>,[RelativePath=”rest/bug/”&Text.From([id])&”/history?&api_key=<myBugzillaAPIKey>”]))​
    Pour chaque id, je récupère l’historique sous forme d’un record.

    Là encore ça fonctionne, même si évidemment d’un point de vue performance cette solution n’est pas optimale. Mais je n’ai pas le choix, encore une fois les infos sont dans 2 tables différentes dans la base de données, que je n’ai pas le droit d’interroger en direct.
    J’arrive néanmoins à mes fins, je produis un rapport qui répond à mon besoin et qui s’actualise bien dans Desktop.

    L’étape naturelle suivante est de mettre en place des mises à jour programmées dans mon espace powerbi.com. Et là, problème, je rencontre des erreurs du type
    [Unable to combine data] Section1/Vx_y_z_ WP CR history/Requête ajoutée references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.

    Je me suis renseigné sur cette erreur, mais je pense que le problème réside dans le fait que j’appelle une fonction web ligne par ligne. En tout cas pas de problème de privacy ou ce type là. Pour la forme j’ai supprimé l’appel à ma fonction personnalisée pour valider que le problème était bien induit par elle, c’est bien le cas.

    J’en viens donc à ma question pour vous: avez-vous une expérience analogue et une idée de ce qui ne va pas dans ma méthode?

    D’avance merci!

    ——————————
    Denis Humeau
    ——————————

    2. RE: [Unable to combine data] sur requête API rest

    Top Contributor
    Jonathan CHANAL
    Posted Aug 31, 2022 01:57 PM
    Bonjour,

    Avez-vous essayé d’ignorer les niveaux de confidentialité pour ce fichier ?

    Fichier,
    Options & Paramètres,
    Options,
    Puis dans Fichier Actif,
    Confidentialité,
    Cocher “Ignorer les niveaux de confidentialité et potentiellement améliorer les performances”,
    Cela peut régler le problème je pense.

    ——————————
    Jonathan CHANAL
    Power BI Consultant/Formateur
    MCSA Power BI & Excel
    ——————————

     

    3. RE: [Unable to combine data] sur requête API rest

    Denis Humeau
    Posted Sep 01, 2022 02:48 AM
    Bonjour,

    dans PBI Desktop, l’option de confidentialité dans Global est à “Toujours ignorer les paramètres de niveau de confidentialité”.

    Je suppose que si problème de ce type il y a ce serait plutôt dans la Personal Gateway (qui est sur un autre PC que celui sur lequel est installé PBI desktop)

    ——————————
    Denis Humeau
    ——————————

     

    4. RE: [Unable to combine data] sur requête API rest Best Answer

    Denis Humeau
    Posted Sep 01, 2022 08:51 AM
    La magie des forums: j’ai trouvé une solution.

    Ou plutôt deux:
    – Les niveaux de confidentialité des sources n’étaient pas les mêmes entre le fichier source et la configuration dans power bi services (organizational vs. private)
    – j’ai modifié la configuration de ma gateway en suivant les recommandations de https://docs.microsoft.com/fr-fr/power-bi/connect-data/service-gateway-personal-mode
    La fonctionnalité Combinaison rapide sur une passerelle personnelle vous permet d’ignorer les niveaux de confidentialité spécifiés lors de l’exécution des requêtes. Pour que Combinaison rapide fonctionne avec la passerelle de données locale (mode personnel) :

    À l’aide de l’Explorateur de fichiers, ouvrez le fichier suivant :

    %localappdata%\Microsoft\On-premises data gateway (personal mode)\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config

    En bas du fichier, avant </Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayCoreSettings>, ajoutez le texte suivant :

    XMLCopier
    <setting name=”EnableFastCombine” serializeAs=”String”>
    <value>true</value>
    </setting>
    Une fois l’opération terminée, le paramètre prend effet environ une minute plus tard. Pour vérifier s’il fonctionne correctement, essayez une actualisation à la demande dans le service Power BI pour vérifier que le Regroupement rapide fonctionne.

     

    ——————————
    Denis Humeau
    ——————————

     

    replied 11 months, 3 weeks ago 1 Member · 0 Replies
  • 0 Replies

Sorry, there were no replies found.

The discussion ‘[Unable to combine data] sur requête API rest’ is closed to new replies.

Start of Discussion
0 of 0 replies June 2018
Now

Welcome to our new site!

Here you will find a wealth of information created for people  that are on a mission to redefine business models with cloud techinologies, AI, automation, low code / no code applications, data, security & more to compete in the Acceleration Economy!